Geodesic sphere script

does anyone know a  for loop or script that will teselate an icosahedron into a geodesic sphere?

There is a visual example in the Architectural Geometry book but I'm having trouble building it in GC.

Thanks,

Jason

  • Hi,

    FInally something I know a little bit about =D

    I have recently had a go at this exercise, although rather than using a for loop... I decided to go off down a different (and as it turns out quite painful) route. I decided to use recursion so that I could specify a depth to which the surface normalisation would happen at which stage it would drop out of the recursion and build the final surface.

    However the functional steps are the same

    I constructed the Icosehedron and from that I built an array of triangles so that I could take advantage of GC's replication. To that I then applied my user defined component called normalisedTriangle which took as its arguments the three points of the triangle, the centroid of the sphere/dome and the depth of which to normalise.

    normalisedTriagle:

    This basically followed these steps.

    • Subdivide the traingle and define sub points at the subdivisions (There are a number of ways you can do this see http://simplydifferently.org/Geodesic_Dome_Notes?page=1#Geodesize:%20Triangulate%20&%20Normalize
    • Then using the centroid and the known radius of the sphere, push all of these points back out onto the surface of the sphere. I used Co-ordinate systems for each point positioned at the centroid with 'X' direction pointing towards the subdivision point. Then projected a line of length Radius along  the 'X' direction of each CS and established the normalised point
    • I then established a point at the lines .endPoint
    • Then it is just a matter of joining the dots to draw the new traingles, which if part of an array can then be passed to the same function to start all over again.

    The above is probably over simplified. I found that the difficult bit wasn't so much making the normalisation work, but how to make GC perform the recursion. I had a great deal of help from some of the guys at Bentley who answered my cries for help on this forum (Thanks again guys).

    I didn't want to just bang the code on here... and take the fun out of it for you... but if you want some of the code, by all means get in touch...

    Regards

    Ian James

  • if you are going for odd ways to make domes, what about an attract and repel, emergent spheroids approach?
  • Keldar,

    I was actually looking at recursion as a way to do it also. i would like to see the code if you dont mind. were you able to write it so that it would project the first frequency on the sphere (or at a desired radius) and then the second from the first, and third from the second, and so on? or are you dividing the sides of the icosahedron into the desired frequency and then projecting the points? The difference being that in the final geometry, the first method creates much more uniform subdivisions than the second method.

     thanks for your help,

    Jason

  • Can you recommend any reading on the subject of attract and repel, emergent spheroids ...?

     Sounds interesting from what I have found... but it isn't enough to explain the principles

     Thanks

    Ian

  • http://wiki.uelceca.net/avamsccomputingdesign/files/BDpseudocode1.swf -- I'll try and find some more useful stuff soon.