79508848

Date: 2025-03-14 11:03:16
Score: 0.5
Natty:
Report link

And here is the OpenSCAD version, credit to user3717023 for the answer:

/* [Hidden] Constants */
point_color="lime";
golden_ratio = (sqrt(5)+1)/2; //1.618

/* [Dimensions] */
boundary_diameter = 120;
point_diameter = 4;

/* [Spiral] */
point_count = 450;
alpha=0;
golden_angle_coeff = 1.0;//0.99995;// e.g. 0.9995;

boundary_radius = boundary_diameter/2;
points_radius = point_diameter/2;
golden_angle = (360 - (360 / golden_ratio)) * golden_angle_coeff; //aka 137.5;

function radius(k,n,b) = (k > n-b) ?  1 : sqrt(k-1/2)/sqrt(n-(b+1)/2);
    
module sunflower( point_count, outer_radius, angle_stride, alpha) 
{    
    boundary_points = round(alpha * sqrt(point_count));  
    for (k = [1:point_count])    {
        r = radius(k, point_count, boundary_points) * outer_radius;
        theta = k * angle_stride;          
        rotate([0,0,theta]) translate([r,0,0]) children();
    }
}

union() {
    cylinder(d=boundary_radius*2, h=3, $fn=50);
    sunflower(point_count, boundary_radius-points_radius, golden_angle, alpha)
        color(point_color) cylinder(r=points_radius, h=3.5);
}

enter image description here

Reasons:
  • Probably link only (1):
  • Long answer (-1):
  • Has code block (-0.5):
  • User mentioned (1): user3717023
Posted by: Crog