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.