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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access