mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 01:34:12 +02:00
add circle_packing3
This commit is contained in:
27
src/experimental/circle_packing3.scad
Normal file
27
src/experimental/circle_packing3.scad
Normal file
@@ -0,0 +1,27 @@
|
||||
use <experimental/tri_subdivide.scad>;
|
||||
use <triangle/tri_delaunay.scad>;
|
||||
|
||||
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]);
|
||||
}
|
Reference in New Issue
Block a user