Appendix E. Some Applications
This appendix demonstrates how to generate data files for other interesting 3D objects by special programs, in a similar fashion to the cylinder example in Section 6.6. The generated files are accepted by the programs HLines.java (see Chapter 6), Painter.java and ZBuf.java (see Chapter 7).
PLATONIC SOLIDS
We will first discuss the generation of 3D files for five well-known objects. Let us begin with two definitions.
If all edges of a polygon have the same length and any two edges meeting at a vertex include the same angle, the polygon is said to be regular. If all bounding faces of a polyhedron are regular polygons, which are congruent (that is, which have exactly the same shape), that polyhedron is referred to as a regular polyhedron or platonic solid. There are only five essentially different platonic solids; their names and their numbers of faces, edges and vertices are listed below:
Platonic solid | Faces | Edges | Vertices |
---|---|---|---|
Tetrahedron | 4 | 6 | 4 |
Cube (= hexahedron) | 6 | 12 | 8 |
Octahedron | 8 | 12 | 6 |
Dodecahedron | 12 | 30 | 20 |
Icosahedron | 20 | 30 | 12 |
Note that what we call a tetrahedron, a hexahedron, and so on, should actually be referred to as regular tetrahedron, regular hexahedron, etc., but since in this section we are only dealing with regular polyhedra, we omit the word regular here.
The above numbers of faces, edges and vertices satisfy Euler's theorem, which also applies to non-regular polyhedra:
Equation E.1.
E.1.1 Tetrahedron
An elegant way of constructing a tetrahedron is by using the diagonals ...
Get Computer Graphics for Java Programmers, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.