circle_packing.scad
1 use <experimental/tri_circle_packing.scad> 2 3 use <triangle/tri_delaunay.scad> 4 5 function circle_packing(points, min_r = 1) = 6 [ 7 for(t = tri_delaunay(points, ret = "TRI_SHAPES")) 8 each tri_circle_packing(t, min_r) 9 ]; 10 11 12 $fn = 24; 13 min_r = 1; 14 points = [for(i = [0:100]) rands(-100, 100, 2)]; 15 16 for(c = circle_packing(points, min_r)) { 17 translate(c[0]) 18 sphere(c[1]); 19 } 20 21 for(t = tri_delaunay(points, ret = "TRI_SHAPES")) { 22 offset(-.1) 23 polygon(t); 24 }