Triangular tessellation on a sphere

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Triangular tessellation on a sphere

Bob Crimmins
Greetings.  Newcomer here.  First post.  Thanks for any help you can provide.

I'd like to create a sphere with holes positioned equidistant from each other, as though their locations were projected on the sphere at the vertices of equilateral triangles, i.e., as a triangular tessellation based on a tetrahedron or a sub division of one.  The end result I'm looking for is a sphere with 1/4 inch diameter holes about a 1/4 deep on the surface of a sphere of approximately 1.5 inches in diameter.  

The OpenSCAD example001 provide the basis for poking holes into a sphere but there are a couple of complications that make it difficult to achieve my goal.  First, the example code extrudes the holes completely through the sphere.  The won't work for a tessellation because the vertices would not line up on opposite sides.  Instead, the code would need to set a depth for each hole, e.g., ~1/4 inch.  The second challenge is that the example code is driven by x/y/z rotation for the placement of each hole.  I'm sure there is an x/y/z solution to get the holes in precisely the right place... but I get a head ache even thinking about how to figure that out.  I've looked for an x/y/z coordinate description of a tetrahedron (or any other spherical tessellation) but haven't found anything.  

Any help anyone can provide is greatly appreciated.

All the best, 

Bob
Reply | Threaded
Open this post in threaded view
|

Re: Triangular tessellation on a sphere

Doug Mcnutt
At 23:30 -0700 8/20/12, Bob Crimmins wrote:
>Greetings.  Newcomer here.  First post.  Thanks for any help you can provide.
>
>I'd like to create a sphere with holes positioned equidistant from each other, as though their locations were projected on the sphere at the vertices of equilateral triangles, i.e., as a triangular tessellation based on a tetrahedron or a sub division of one.  The end result I'm looking for is a sphere with 1/4 inch diameter holes about a 1/4 deep on the surface of a sphere of approximately 1.5 inches in diameter.
>
>The OpenSCAD example001 provide the basis for poking holes into a sphere but there are a couple of complications that make it difficult to achieve my goal.  First, the example code extrudes the holes completely through the sphere.  The won't work for a tessellation because the vertices would not line up on opposite sides.  Instead, the code would need to set a depth for each hole, e.g., ~1/4 inch.  The second challenge is that the example code is driven by x/y/z rotation for the placement of each hole.  I'm sure there is an x/y/z solution to get the holes in precisely the right place... but I get a head ache even thinking about how to figure that out.  I've looked for an x/y/z coordinate description of a tetrahedron (or any other spherical tessellation) but haven't found anything.

Buckminster Fuller built houses like that several decades ago.  The results were a patent and much later an allotrope of carbon which looks a whole lot like what you're talking about.  It's called Buckminster Fullerene.

You might find a mathematical analysis for his work on the net somewhere.

I think I would try centering holes perpendicular to the plane of each equilateral triangle and at the centers.  It would be much like one more partial step in the process of tessellation which finds those centers and moves outward along a radius vector.
--

--> A fair tax is one that you pay but I don't <--

Reply | Threaded
Open this post in threaded view
|

Re: Triangular tessellation on a sphere

clothbot
In reply to this post by Bob Crimmins
Hi Bob,

Don't know if this is exactly what you're looking for, but I've been dabbling with some functions to get coordinates for and modules to place structures at evenly spaced points around the surface of a sphere:


Andrew.

On 2012-08-21, at 2:30 AM, Bob Crimmins wrote:

Greetings.  Newcomer here.  First post.  Thanks for any help you can provide.

I'd like to create a sphere with holes positioned equidistant from each other, as though their locations were projected on the sphere at the vertices of equilateral triangles, i.e., as a triangular tessellation based on a tetrahedron or a sub division of one.  The end result I'm looking for is a sphere with 1/4 inch diameter holes about a 1/4 deep on the surface of a sphere of approximately 1.5 inches in diameter.  

The OpenSCAD example001 provide the basis for poking holes into a sphere but there are a couple of complications that make it difficult to achieve my goal.  First, the example code extrudes the holes completely through the sphere.  The won't work for a tessellation because the vertices would not line up on opposite sides.  Instead, the code would need to set a depth for each hole, e.g., ~1/4 inch.  The second challenge is that the example code is driven by x/y/z rotation for the placement of each hole.  I'm sure there is an x/y/z solution to get the holes in precisely the right place... but I get a head ache even thinking about how to figure that out.  I've looked for an x/y/z coordinate description of a tetrahedron (or any other spherical tessellation) but haven't found anything.  

Any help anyone can provide is greatly appreciated.

All the best, 

Bob



--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/



Reply | Threaded
Open this post in threaded view
|

Re: Triangular tessellation on a sphere

nophead
Hi Andrew,

I Just noticed this:
(x>0) ? atan(y/x) : (
(x<0 && y>0) ? atan(y/x)+180 : (
(x<0 && y<0) ? atan(y/x)-180 : (
(x==0 && y>0) ? 90 : -90 ) ) )

I think you can just use atan2 to do the same.

On 21 August 2012 11:32, Andrew Plumb <[hidden email]> wrote:
Hi Bob,

Don't know if this is exactly what you're looking for, but I've been dabbling with some functions to get coordinates for and modules to place structures at evenly spaced points around the surface of a sphere:


Andrew.

On 2012-08-21, at 2:30 AM, Bob Crimmins wrote:

Greetings.  Newcomer here.  First post.  Thanks for any help you can provide.

I'd like to create a sphere with holes positioned equidistant from each other, as though their locations were projected on the sphere at the vertices of equilateral triangles, i.e., as a triangular tessellation based on a tetrahedron or a sub division of one.  The end result I'm looking for is a sphere with 1/4 inch diameter holes about a 1/4 deep on the surface of a sphere of approximately 1.5 inches in diameter.  

The OpenSCAD example001 provide the basis for poking holes into a sphere but there are a couple of complications that make it difficult to achieve my goal.  First, the example code extrudes the holes completely through the sphere.  The won't work for a tessellation because the vertices would not line up on opposite sides.  Instead, the code would need to set a depth for each hole, e.g., ~1/4 inch.  The second challenge is that the example code is driven by x/y/z rotation for the placement of each hole.  I'm sure there is an x/y/z solution to get the holes in precisely the right place... but I get a head ache even thinking about how to figure that out.  I've looked for an x/y/z coordinate description of a tetrahedron (or any other spherical tessellation) but haven't found anything.  

Any help anyone can provide is greatly appreciated.

All the best, 

Bob



--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566

Reply | Threaded
Open this post in threaded view
|

Re: Triangular tessellation on a sphere

clothbot
Confirmed.  Much easier to read using atan2(y,x).

Thanks!

Andrew.

On 2012-08-21, at 6:42 AM, nop head wrote:

Hi Andrew,

I Just noticed this:
(x>0) ? atan(y/x) : (
(x<0 && y>0) ? atan(y/x)+180 : (
(x<0 && y<0) ? atan(y/x)-180 : (
(x==0 && y>0) ? 90 : -90 ) ) )

I think you can just use atan2 to do the same.

On 21 August 2012 11:32, Andrew Plumb <[hidden email]> wrote:
Hi Bob,

Don't know if this is exactly what you're looking for, but I've been dabbling with some functions to get coordinates for and modules to place structures at evenly spaced points around the surface of a sphere:


Andrew.

On 2012-08-21, at 2:30 AM, Bob Crimmins wrote:

Greetings.  Newcomer here.  First post.  Thanks for any help you can provide.

I'd like to create a sphere with holes positioned equidistant from each other, as though their locations were projected on the sphere at the vertices of equilateral triangles, i.e., as a triangular tessellation based on a tetrahedron or a sub division of one.  The end result I'm looking for is a sphere with 1/4 inch diameter holes about a 1/4 deep on the surface of a sphere of approximately 1.5 inches in diameter.  

The OpenSCAD example001 provide the basis for poking holes into a sphere but there are a couple of complications that make it difficult to achieve my goal.  First, the example code extrudes the holes completely through the sphere.  The won't work for a tessellation because the vertices would not line up on opposite sides.  Instead, the code would need to set a depth for each hole, e.g., ~1/4 inch.  The second challenge is that the example code is driven by x/y/z rotation for the placement of each hole.  I'm sure there is an x/y/z solution to get the holes in precisely the right place... but I get a head ache even thinking about how to figure that out.  I've looked for an x/y/z coordinate description of a tetrahedron (or any other spherical tessellation) but haven't found anything.  

Any help anyone can provide is greatly appreciated.

All the best, 

Bob



--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/




_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad
http://openscad.org - https://flattr.com/thing/121566

--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/



Reply | Threaded
Open this post in threaded view
|

Re: Triangular tessellation on a sphere

Bob Crimmins
In reply to this post by Bob Crimmins
Apologies to all.  I was an idiot and neglected to update the subject line of my previous reply.  I was called out on the bonehead move... and I deserved it.  Shan't happen again.  Mia culpa complete, I've included the reply I previously mis-posted.

================
Thanks everyone for the great (and fast) responses!  Andrew, your atan2 suggestion looks pretty straight forward.  But, alas, I wouldn't know where to start to implement it in code.  I really am trying to learn this stuff but I'm only just getting my feet wet.  Any chance you could place you snippet into a code module that will actually compile and render?  Then I could tweak-and-learn as I try to understand it and modify it.  I know it's a lot to ask and if you're too busy I totally get that.

Also, thanks Doug for the reference to Buckminster Fuller's work.  His construction is just about exactly what I'd like to do.  
Cheers,

Bob


> Message: 2
> Date: Tue, 21 Aug 2012 11:42:28 +0100
> From: nop head <[hidden email]>
> Subject: Re: [OpenSCAD] Triangular tessellation on a sphere
> To: [hidden email]
> Message-ID:
>         <
[hidden email]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hi Andrew,
>
> I Just noticed this:
>
> (x>0) ? atan(y/x) : (
>         (x<0 && y>0) ? atan(y/x)+180 : (
>         (x<0 && y<0) ? atan(y/x)-180 : (
>         (x==0 && y>0) ? 90 : -90 ) ) )
>
> I think you can just use atan2 to do the same.
>
>