/ src / experimental / circle_packing.scad
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  }