From c3025ea51c245f849ee28fb662443e7886f01f36 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 31 May 2022 16:11:35 +0800 Subject: [PATCH] add circle_packing3 --- src/experimental/circle_packing3.scad | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/experimental/circle_packing3.scad diff --git a/src/experimental/circle_packing3.scad b/src/experimental/circle_packing3.scad new file mode 100644 index 00000000..03eb9283 --- /dev/null +++ b/src/experimental/circle_packing3.scad @@ -0,0 +1,27 @@ +use ; +use ; + +use <_impl/_circle_packing_triangle.scad>; + +function circle_packing3(points, density = 1, min_r = 1) = + [ + for(t = tri_delaunay(points, ret = "TRI_SHAPES")) + each circle_packing_triangle3(t, density, min_r) + ]; + +function circle_packing_triangle3(t, density, min_r) = + [ + for(st = tri_subdivide(t, density)) + each circle_packing_triangle(st, density, min_r) + ]; + +$fn = 24; +density = 2; +min_r = 1; +points = [for(i = [0:100]) rands(-100, 100, 2)]; + + +for(c = circle_packing3(points, density, min_r)) { + translate(c[0]) + sphere(c[1]); +} \ No newline at end of file