Stellations of the Dodecahedron


Keyboard Commands:
 s Stereo mode
 r Rotation (on/off)
 h Hollow (on/off)
 b Big (on/off)
 d Detach/Attach
 e Edges (on/off)
 l Lighting (on/off)
 m Morphing (on/off)
 f Fast (on/off)
 
Object Selection:
 1 Regular Dodecahedron
 2 Small Stellated Dodec
 3 Great Dodec
 4 Great Stellated Dodec
 c Cycle objects
screen shot

Click the image to enable keyboard commands.
If you don't have 3D glasses, type "s" to switch the stereo mode for "look crossed" viewing.
Manually rotate by dragging with the mouse.
If you press the same numeric key (1 through 4) twice, the morphing will freeze.
For Browser Requirements, see below.


More Java applets here.

About Keyboard Commands:


About the 3D Objects


Stellation

The "core" object is the regular dodecahedron. It is enclosed by 12 pentagonal "faces". Each face lies in a different infinite plane. Thus the dodecahedron defines 12 infinite planes. The edges and vertices of the dodecahedron occur on intersections of these planes.

The stellation process works because the 12 planes have additional intersections outside of the core dodecahedron (it wouldn't work for a cube). We stellate a polyhedron by extending all its faces until they intersect again along new edges.

The java applet on this page illustrates this process. As the applet morphs, you can watch the faces expand to create new intersections. (This is easier to see if you turn off "Big" mode by pressing the "b" key, and stop the rotation by pressing the "r" key.)


Related Links


Implementation Notes

I wrote the applet as a test for a pure-Java 3D rendering package that I wrote. The rendering is done pixel-by-pixel, using a java.awt.image.MemoryImageSource to create the image. The rendering algorithm uses z-buffering and is optimized for rendering polyhedra.

I opted for the "press a key" user interface for several reasons:
1. Laziness (this was just supposed be a quick demo of my renderer)
2. It fits -- it's a lot easier than trying to click a button or drop a choice-box while you are looking cross-eyed at a 3D image.

This web page uses a "style" attribute in an attempt to give the applet area (at the top of the page) a different background color. The different browsers handle this with varying degrees of success. After seeing how poorly this simple "style" attribute is handled, I am definitely not motivated to try anything fancy with style sheets.


Acknowledgement

The information about star polyhedra comes from H.S.M. Coxeter's book "Regular Polytopes" (Coxeter01).

Browser Requirements

This is a Java 1.1 applet. See my Java page for Browser Requirements.


<Dogfeathers Home Page>   <Mark's Home Page>   <Mark's Java Stuff>   <Mark's 3D Stuff>
Email: Mark Newbold
This page URL: http://dogfeathers.com/java/stardodec.html