home *** CD-ROM | disk | FTP | other *** search
- HEDRA.PXP - Regular Polyhedron Generator
- for Autodesk 3D Studio R3
- by Dan Silva for Yost Group, Inc.
-
- Copyright 1993 Daniel Silva
- 12/07/93
-
-
- This IPAS program is to be freely distributed to 3D Studio R3
- users as a gift, but it is NOT to be resold.
-
-
-
- Installation:
-
- For 3DSr3: Copy HEDRA_I.PXP into your PROCESS path, and then
- access it from the 3D Editor with the F12 key (or
- the Program menu's PXP loader).
-
- NOTE: This program will not work with 3DSr2 because it requires
- at least an 800x600 user interface. If you try to make it work
- with R2 (or if you try to run it with R3 in 640x480 mode), it'll
- reboot your computer.
-
-
-
- HEDRA.PXP creates a huge variety of amazing and fantastical types
- of polyhedra, including:
-
- - All the Platonic polyhedra.
- - The regular polyhedra including the Kepler-Poinsot
- "star" polyhedra.
- - The quasi-regular polyhedra.
- - Morphing polyhedra.
- - And much, much more!
-
- As far as we know, there is no other program available for any
- computer that allows the creation of such a wide variety of
- polyhedra.
-
-
- Parameters:
-
- -------------
- The "Family:" parameter lets you choose between 5 different
- families of polyhedra:
-
- - Tetra/Tetra (Tetrahedron)
- - Octa/Cube (Octagon/Cube)
- - Icos/Dodec (Icosahedron/Dodecahedron)
- - Star1
- - Star2
-
- -------------
- The two parameters labelled "P:" and "Q:" let you create
- different variations within each family:
-
- When p = 1 and q = 0 you obtain the first member of the family
- (e.g. in the Octa/Cube family, this gives the Octahedron). When
- p = 0 and q = 1 you get the second member which is the "dual" of
- the first, meaning that the number of faces and vertices is
- exchanged. (e.g. in the Octa/Cube family this gives the Cube).
- These 0/1 or 1/0 cases are all the "regular" polyhedra. (A
- regular polyhedron has for its faces identical regular polygons.
- A regular polygon has equal sides and angles).
-
- When p AND q both = 0, you get what is known as a "quasi-regular"
- polyhedron. These polyhedra have two kinds of regular polygonal
- faces, e.g. triangles and squares.
-
- When p>0 and q>0 you get an assortment of interesting shapes. To
- get reasonable looking objects, both p and q should be greater
- than 0 and less than 1, and their sum should be less than 1. (If
- the sum>1, the objects will have self-intersecting surfaces.)
- However, feel free to experiment with any values you want.
-
-
- -------------
- Vertical Axis: determines which axis of symmetry of the
- polyhedron is vertical.
-
-
- -------------
- Radius: The radius of the imaginary sphere that the vertices of
- the polyhedron lie on.
-
-
- -------------
- Vertices: Basic / Center / Center&Sides. This subdivides the
- polygonal faces differently.
-
- - "Basic" is what you normally want: it tesselates the
- faces with the minimum number of triangles. (Do not
- use this option if you want to later replace the
- default materials with Face-mapped materials in 3DSr3.)
-
- - "Center" puts a vertex at the center of of every
- polygonal face.
-
- - Center&Sides puts a vertex at the center of each
- polygonal face and also in the middle of each polygon
- edge. The number of faces can get fairly large with
- this last option. Center and Center&Sides are
- effective when use with a Face-Mapped material for
- automatic texture-mapping effects. Try it!
-
-
- -------------
- P-material,Q-material,R-material:
-
- These define the materials to assign to the faces of the
- polyhedron. You'll notice that when (p=1,q=0) you get an object
- totally colored by the P-material, and when (p=0,q=1) the object
- is totally colored by the Q-material. When (p=0,q=0) you get a
- both colors. When both p and q are greater than 0, you get the
- R-material on the Rectangular faces.
-
- Note re material reassignment techniques: If you don't want
- to use the default Blue, Beige, and Red Plastic materials,
- you can either type in a material name for a material that's
- in your current .mli, or you can reassign the material
- later. If you choose to reassign later, you can do it in a
- couple of ways: 1) Use the Surface/Material/Show command to
- put the material into a selection set, and then use the
- Material/Face/Assign command with the selected button. or
- 2) Get the material from the scene in Medit, change it in
- Medit, and then put it back to the scene. This is my
- favorite way, since it allows for interactive rendering of
- the hedra in various material states.
-
- -------------
- Scale axis: P: Q: R:
-
- Normally these should be left to 1.0, however, for various
- bizarre effects change to other values. The effect is to
- stretch the center point of the various axes out or in. NOTE:
- The "Vertices:" parameter must be set to "Center" or
- "Center&Sides" for this to have any effect.
-
-
- _____________
- Morphing:
-
- There are only a couple of rules that you have to follow for
- morphing.
-
- - You can only morph between polyhedra created within
- their own family. (ie, Tetra to Tetra, Star1 to Star1,
- etc.)
- - You can only morph between objects whose P and Q values
- are not 0 or 1. (ie, legal values would be: P/.1,
- Q/.8 or P/.3, Q/.5, etc... illegal values would be:
- P/0, Q/.7 or P/1, Q/0.)
-
- Watching various hedra morphing into each other, with custom
- face-mapped materials (while the materials are morphing as well),
- is a great way to spend a few hours. Hypnotize your friends!
-
-
-
- -----------------------------------
-
- Here's a list of some of the polyhedra you can make.
-
- Family = Tetra/Tetra:
- -P-----Q------Name---------------Faces------------Verts--Schlafli
- 1 0 Tetrahedron 4 triangle 4 {3,3}
- 0 1 Tetrahedron 4 triangle 4 {3,3}
- 0 0 Octahedron 8 triangle 6 {3|3}
- .4611 0 Tr. Tetrahedron 4 tris + 4 hgons 12
- 0 .4611 Tr. Tetrahedron 4 tris + 4 hgons 12
- .5 .5 Cuboctahedron 6 sq. + 8 tris 12 {3|4}
-
-
- Family = Octa/Cube:
- -P-----Q------Name---------------Faces------------Verts--Schlafli
- 1 0 Octahedron 8 triangles 6 {3,4}
- 0 1 Cube 6 squares 8 {4,3}
- 0 0 Cuboctahedron 6 sq + 8 tri 12 {3|4}
- .4142 0 Tr. Octahedron 8 ogon + 6 sq 24
- 0 .4641 Tr. Cube 6 ogon + 8 tri 24
- .4495 .5505 Small "Rhomb." * 18 sq + 8 tri 24
-
- * Rhombicuboctahedron
-
- Family = Icosa/Dodec:
- -P-----Q------Name---------------Faces------------Verts--Schlafli
- 1 0 Icosahedron 20 triangles 12 {3,5}
- 0 1 Dodecahedron 12 pentagons 20 {5,3}
- 0 0 Icosidodecaedron 20 tri + 12 pgons 30 {3|5}
- .3702 0 Tr. Icosahedron 20 ogons+12 pgons 60
- 0 .4641 Tr. Dodecahedron 12 dgons+20 tris 60
- .4043 .5957 Small 30 sq + 12 pgons
- Rhombicosidodecahedron + 20 tris 60
-
-
- Family = Star1:
- -P-----Q------Name---------------Faces------------Verts--Schlafli
- 1 0 Great Icosahedron 20 triangles 12 {3,5/2}
- 0 1 Great S.D. 12 pgrams 20 {5/2,3}
- 0 0 20 tri + 12 pgram 42 {3|5/2}
-
-
- Family = Star2:
- -P-----Q------Name---------------Faces------------Verts--Schlafli
- 1 0 Great Dodecahedron 12 pentagons 12 {5,5/2}
- 0 1 Small S.D. 12 pentagrams 12 {5/2,5}
- 0 0 12 pgons + 12 pgrams 42 {5|5/2}
-
-
-
- Abbreviations:
- S.D. = Stellated Dodecahedron
- Tr. = Truncated
- tri = triangle
- sq = square
- pgon = pentagon (5-sided regular polygon)
- pgram = pentagram (5-sided star polygon)
- hgon = hexagon (6-sided regular polygon)
- ogon = octagon (8-sided regular polygon)
- dgon = decagon (10-sided regular polygon)
-
- The column on the right is the "Schlafli symbol" of the
- polyhedron. The meaning of this symbol is as follows:
-
- {p,q} denotes a regular polyhedron whose faces are regular
- polyons of internal angle = PI/p, with q being the number of
- faces meeting at each vertex.
-
- {p|q} is an adaptation of the symbol for the quasi-regular
- polyhedra, modified to fit the limitations of plain-text.
- Normally this is written with p above q within the brackets.
-
-
- -------------
- Credits: The main reference for this material were
-
- "Regular Polytopes" by H.S.M. Coxeter (Dover Publications, Inc.
- New York).
-
- "Polyhedra, a visual approach" by Anthony Pugh (UC Berkely
- Press).
-
-
- [end]
-