Geodesic dome parameterization

I’ve spent a good deal of time reverse engineering the Geodesic Dome code found in the following thread Structural Beams on Reference Plane and for the most part have been able to get the code to do what I want with the exception of the equilateral triangle size. I know it is to some extend controlled by the size of the sphere but I would like to control it independently but am not sure how in the code that equilateral triangle size is set or how. Does anyone have a sort explanation of the line?

In hope of illiciting a response I’ve included a an image of the main code in this thread. This code always generates approx. 250 framing elements regards of size and I need a way to modify the parameterization but am not sure where in the code - or how - it is controlled. Thanks,

You can sub triangulate by changing the following line in the code…

//Triangulate the Icosahedron

s2=tri(Flatten(tri(s1)));

to

//Triangulate the Icosahedron

s2=tri(Flatten(tri(Flatten(tri(s1)))));

and further triangulate

//Triangulate the Icosahedron

s2=tri(Flatten(tri(Flatten(tri(Flatten(tri(s1)))))));

and so on…

Every time you sub triangulate (by applying the tri function)

-the strut length is halved

-the triangle count is tripled

Thanks VS. I will try to run in the code this week. This appears to add stuts and I’m aiming to reduce the struts and makes the sphere rougher but I may be able to figure it out now that I know in general where to look. Thanks for the hint. I’ll post an update later.

1 Like

For the minimum number of triangles…

//Triangulate the Icosahedron

s2=s1;

and to increase…

//Triangulate the Icosahedron

s2=tri(s1);

 

That is incredible: That adding just a few brackets radically changes the dome. I’m getting an error when “s2=s1” but otherwise everything is working smoothly. I’m still working my way through the code in my spare time.

1 Like

I was probably wrong about s2=s1. Been a while, since I wrote this.

However, the brackets approach is a crude quick way. With a little work, it will be possible to incorporate a loop and number slider for variations.

While studying the script, begin with //Icosahedron

The function defined above could be in a separate code block and the definition would still work.

I suspect the “s2=s1” formulation is failing because it doesn’t play nicely with how the sphere is then sectioned into a half-dome. Otherwise I’m just filtering the lengths of the structs because this should be able to be made with just two lengths but this looks like a real formula for a geodesic dome but not necessarily a parameterized sphere (by equilateral triangle). Very nice job. Super interesting.

1 Like