Jump to content

Geodesic Sphere


Recommended Posts

Posted

Thank you CarlB! Together we are making a good time: people ask me and you answer them :-)

I glad to see interest for this pretty old program I wrote just for fun!

  • Replies 27
  • Created
  • Last Reply

Top Posters In This Topic

  • fuccaro

    7

  • CADTutor

    5

  • hyposmurf

    2

  • allardl

    2

Posted

Glad to help a little. You did all the heavy lifting :)

In fact I was looking at that code today, trying to figure out how you did it.

Posted
I was looking at that code today, trying to figure out how you did it.
Answer for others, not for CarlB:

If someone is curious about this program -just ask and I will try to answer. But probable CarlB will be the faster on answering...:)

  • 5 months later...
Posted

The image below doesn't look like it uses equilateral triangles, which I thought was one of the requirements for a geodesic sphere. Is that just an optical illusion, or is this not actually a true geodesic sphere?

 

PS Thanks for the great site...

 

 

 

I wrote a short demo program.

How it works: consider a sphere containing a triangle. The middle of each edge is projected on the sphere and based on these points and the initial 3 corners 4 new triangles are created. This iterative process is repeated generating more and more triangles approximating better and better the spherical surface.

 

geo.gif

 

After you run the program you may pan/zoom/orbit, you may move the objects on to an other layer or you may even delete them. By running the program again you will get the next level - or you will cause the computer to hang-up.

Have fun!

;| GEOdhesical "surface" demo
   [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email]
__________________Dec. 2004_____|;
(defun c:geo( / tr1 pl a i c m t1)
 (if (not *tr*) (init))
 (foreach t1 *tr*
   (setq pl (list (nth 1 t1) (nth 2 t1) (nth 3 t1) (nth 1 t1)) i 0 m nil)
   (repeat 3
     (setq a (nth i pl) b (nth (setq i (1+ i)) pl)
       c (c:cal "plt(a,b,0.5)")
       c (c:cal "pld(orig,c,100)")
       m (cons c m))
     )
   (setq tr1 (cons (make3dpoly m) tr1)
     tr1 (cons (make3dpoly (list (nth 1 t1) (nth 0 m) (nth 2 m))) tr1)
     tr1 (cons (make3dpoly (list (nth 2 t1) (nth 2 m) (nth 1 m))) tr1)
     tr1 (cons (make3dpoly (list (nth 3 t1) (nth 1 m) (nth 0 m))) tr1))
   )
 (setq *tr* tr1)
 (command "color" (setq *color* (1+ *color*)))
 (strcat "Done, " (if (< (length *tr*) 17) "" "you may try to ")
     "run the program again"
     (if (> (length *tr*) 1023) " AT YOUR OWN RISK!!!" ""))
 )

(defun make3dpoly (vertlist / point)
 (entmake (list '(0 . "POLYLINE")'(66 . 1)'(100 . "AcDb3dPolyline")'(70 . 9)))
 (foreach point vertlist
   (entmake (list (cons 0 "VERTEX")'(100 . "AcDb3dPolylineVertex")'(70 . 32)(cons 10 point))))
 (entmake '((0 . "SEQEND")))
 (cons (entlast) vertlist)
 )

(defun init( / osmode rs d rc)
 (setvar "CMDECHO" 0)
 (if (not (member "geomcal.arx" (arx))) (arxload "geomcal"))
 (setq rs 100.0    ;radius of sphere
   d 45.0        ;distance of cutting plane from the origin
   rc (sqrt (- (* rs rs) (* d d)))
   *tr* nil    ;list of triangles
   orig '(0 0 0)    ;center of the sphere -global variable!
   *color* 0)
 (setq *tr* (cons (make3dpoly (mapcar
              '(lambda(x) (reverse (cons d (reverse (polar '(0 0) (* x (/ PI 3)) rc)))))
              '(0 2 4))) *tr*))
 )

  • 9 months later...
Posted

Hey Guys,

 

I need to model a geodesic dome in 3D but in plan view only having eight sides...can I use ICOSA to achieve this? Thanks for your suggestions

  • 10 months later...
Posted

that script up further is not exactly a true geodesic dome, just incase someone was thinking they could manufacture a dome with the script.. but, where oh where is the real script??? where oh where can i actually find a lisp routine of a geodesic dome?

  • 4 weeks later...
Posted
In the link about the Spaceship Earth I recognize an other approach. Starting from a triangle with the corners on the sphere the center point is projected "out" to the surface. Four new triangles are generated based on the corners of the first triangle and the projection. I will try to write a program for this -the triangles generated by the Lisp I posted previously are not identical. This is what happens when a some one tries an architectural work after he studied mechanics :D .

About the Eden Project: the sphere is covered by a hexagonal mesh -even simpler to generate.

 

Interesting theme...

8)

 

:cry: now how to made a sphere covered by hexagonal mesh :cry:

Posted

I would say that is not possible. By arranging equal regular hexagons one near the other (tiling) will result a plain shape, no curvature to forme a sphere.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...