# Wireframe Models

The wireframe model is perhaps the oldest way of representing solids. A wireframe model consists of two tables, the vertex table and the edge table. Each entry of the vertex table records a vertex and its coordinate values, while each entry of the edge table has two components giving the two incident vertices of that edge. A wireframe model does not have face information. For example, to represent a cube defined by eight vertices and 12 edges, one needs the following tables

 Vertex Table Vertex # x y z 1 1 1 1 2 1 -1 1 3 -1 -1 1 4 -1 1 1 5 1 1 -1 6 1 -1 -1 7 -1 -1 -1 8 -1 1 -1
 Edge Table Edge # Start Vertex End Vertex 1 1 2 2 2 3 3 3 4 4 4 1 5 5 6 6 6 7 7 7 8 8 8 5 9 1 5 10 2 6 11 3 7 12 4 8

The following figure shows all eight vertices and twelve edges and their numbers in white and yellow, respectively.

### Wireframe Models Are Ambiguous

While wireframe uses the simplest data structures, it is ambiguous. The following is a well-known example that consists of 16 vertices and 32 edges. We know it represents a solid and each of the quadrilaterals (some of them are squares) defines a face of the solid.

The inner cube represents a hole; but, we cannot tell the direction of the opening of the cube. As shown in the following figure, there are three possibilities for this opening. While the other two can be obtained by rotating the remaining one, in general we will not be so lucky because the outer boundary may be a box of different side lengths and because this model is part of a big one which does not allow free interpretation.

Because of wireframe models are ambiguous, their uses are limited. However, wireframe models are popular, because they are efficient (i.e., only vertices and edges are displayed and processed) when they work. For example, wireframe models can be used for preview purpose. Rendering a complex model or an animation sequence could be very time consuming if all objects are to be rendered. If wireframe models (usually including its face information) are available, one can easily obtain a general feeling of the final result without waiting for minutes or even hours before spotting a design flaw.

Note that the edges in a wireframe model do not have to be line segments. They can be curve segments and in this case the edge table will be more complicated since in addition to the two endpoints a description of the joining curve segment (e.g., equation) is required.