1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 14:18:13 +01:00
dotSCAD/examples/differential_line_growth_bowl.scad

29 lines
746 B
OpenSCAD
Raw Normal View History

2022-05-28 15:59:17 +08:00
use <shape_circle.scad>;
use <midpt_smooth.scad>;
use <polyline_join.scad>;
use <polyhedra/icosahedron.scad>;
use <experimental/differential_line_growth.scad>;
use <experimental/ptf_c2sphere.scad>;
$fn = 24;
r = 10;
times = 50;
line_r = 2;
smooth = true;
smooth_times = 2;
node_option = [
0.4, // maxForce
0.5, // maxSpeed
5, // separationDistance
1.2, // separationCohesionRatio
4 // maxEdgeLength
];
init_shape = shape_circle(r);
poly = differential_line_growth(init_shape, node_option, times);
smoothed = smooth ? midpt_smooth(poly, smooth_times, true) : poly;
sphere_r = max(max(smoothed));
polyline_join([for(p = [each smoothed, smoothed[0]]) ptf_c2sphere(p, sphere_r)])
icosahedron(line_r);