Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!sgi!shinobu!odin!texas.asd.sgi.com!robert From: robert@texas.asd.sgi.com (Robert Skinner) Newsgroups: comp.graphics Subject: Re: recursive sphere tesselation from tetrahedral seed Message-ID: <1991Apr17.154919.8090@odin.corp.sgi.com> Date: 17 Apr 91 15:49:19 GMT References: <1991Apr15.171109.2625@rice.edu> Sender: news@odin.corp.sgi.com (Net News) Reply-To: robert@1.com Organization: Silicon Graphics Inc., Advanced Systems Division Lines: 43 In article <1991Apr15.171109.2625@rice.edu>, fontenot@comet.rice.edu (Dwayne Jacques Fontenot) writes: |> |> Hello, |> |> I have been playing with recursive triangular sphere tessellations. Starting |> with an octahedron works beautifully, but since each triangle is split into |> four triangles at each iteration, the progression of numpolys looks like this: |> |> 8 32 128 512 2048 8192 ... |> |> I want more flexibility in the number of polygons per sphere. So, I tried |> starting with a tetrahedron, so that I could get: |> |> 4 16 64 256 1024 4096 ... |> |> This, plus the above would give me any power of 2, which is probably enough |> flexibility... |> recursive triangular subdivision is elegant and simple to code, but its not very flexible, as you point out. For an M-sided polyhedra, you get M*2^N polygons, where N is the level of subdivision. A better choice is to do non-recursive subdivision of the triangle by some integer factor K. You will get K*K smaller triangles from each original triangle, so the progression of numpolys for an octahedron would be 8 32 72 128 200 288 ... and for a tetrahedron would be 4 16 36 64 100 144 ... Also, non-recursive subdivision should be (at least marginally) faster. You have a lot fewer function invocations, and doing the subdivision incrementally might help too. -- Robert Skinner robert@sgi.com Is that a pistol in your pocket, or are you just glad to see me? - Mae West