I want to create some sort of lofted circles on a surface but I am having some troubles. The circle-packing looks fine on the base surface but on the offset one it does not look fine.
circle_packing_thickness.gh (58.3 KB)
It’s not geometrically possible to take a compact circle packing on one surface with the points kept on the boundary and deform it to a surface with a different aspect ratio while keeping the circles circular and tangent.
The only surface where you’d be able to keep the same compact circle packing on the offset surface (and have cones connecting them) is a sphere.
Is this the look you’re after? i assumed you wanted to create truncated cones
I’ve taken on packing and pulled it onto the surfaces. T
circle_packing_thickness.DG.gh (20.0 KB)
this only works because the surfaces have identical normals
Note that the curves on the offset cylinder will be ellipses and not circles.
This isn’t necessarily a problem, depending on what you are doing with them - you could still make a lofted developable surface between the curves, but bear in mind this won’t be a simple cone.
Increasing the offset hopefully makes it clearer why this is the case - the inner surface has the same height but a much reduced circumference, so the only way to keep the same tangencies between the circles is for them to deform into ellipses.
I should add, another possibility which does keep circles on both the inner and outer surface would be to release the boundary at one end. This allows the inner packing to shrink vertically, so it effectively becomes a uniform scaling of the outer one, with the same aspect ratio.
The lofted surfaces could then be sheared cones.
Of course, ellipses makes sense, since only one axis is changing with the offset. It was not obvious with a small offset.
i made a view from inside the corky squishy ellipse coney panopticon
Thank you so much. That looks very nice. I was looking for the same result.
Thank you so much Daniel for your great explanation. This looks very interesting. Do you mind sharing the file, please?