(θy).
A series of the coordinate transformations, such as translation, scaling, shearing, rotation, and reflection, can be combined as a comprehensive transformation of a point or object. In such a case, the combined transformation matrix can be determined as
(2.11)
where [T]COM is the combined transformation matrix, i = 1, 2, …, N is the order of N transformation operations, and [T]i is the transformation matrix for the ith operation.
Note that the order of the multiplications of the matrices is reversed with that of the operations.
Example 2.4
Given a point P(1, 3, 2) in a reference coordinate system (O‐XYZ), determine its new position P′ after the following operations: (i) rotate 45° with respect to the X axis, (ii) translate it with a vector of (0.5, 2, 1), (iii) rotate −30° with respect to the Z axis, and (iv) mirror the position about the XY plane.
Solution
Using the coordinate transformations in Table 2.1, the corresponding transformation matrix of each operation is determined as follows:
|
|
|
|
|
Figure 2.15 Vertices, edges, and faces of a solid.
Therefore, using Eq. (2.11),
2.3 Representation of Shapes
A solid object has a geometric shape. A solid model is a digital representation of the geometry of an existing or envisioned physical object. A solid can be modelled in two basic methods: (i) designers may specify points, curves, and surfaces to define the mathematical representation of boundary surfaces and knit them together as a finite volume of the object; (ii) designers may select the models of simple shapes, such as blocks or cylinders, with specified dimensions, positions, and orientations, and combine them using logic operations such as union, intersection, and difference. The resulting representation is an unambiguous, complete, and detailed digital approximation of the object geometry or an assembly of objects (such as a car engine or an entire aeroplane).
Figure 2.15 shows that a solid object must be a watertight fine volume (B), which is defined by a number of boundary faces (F). In turn, a face F consists of a number of edges (E) and an edge E consists of a number of vertices (V). The information about vertices, edges, faces, and volumes is at different levels. In order to work with the solid models in the computer systems, they should be stored in the computer memory, which allows processing, converting, and ultimately displaying them. Different data structures can be used to represent solids.
2.3.1 Basic Data Structure
The information of solids must be stored in computers. Three popular methods to represent the data structure of solids are relational structure, hierarchical structure, and network structure.
A relational structure defines a set of lists for vertices, edges, and faces, and these lists are stored in term of arrays in a relational database. Taking an example of the pyramid in Figure 2.16, its rational structure includes the lists of vertices, edges, and faces shown in Table 2.2.
Figure 2.16 Relational structure of a pyramid object.
Table 2.2 Relational structure of pyramid object.
List of vertices | List of edges | List of faces |
V1 (0.000, 0.000, 0.500) V2 (−0.500, −0.289, 0.000) V3 (0.500, −0.289, 0.000) V4 (−0.000, −0.577, 0.000) | E1 (V1, V2) E2 (V2, V3) E3 (V1, V3) E4 (V2, V4) E5 (V1, V4) E6 (V3, V4) | F1 (E1, E4, E5) F2 (E1, E2, E3) F3 (E3, E6, E5) F4 (E2, E6, E4) |
A solid can also be represented by a hierarchical structure where geometric elements are organized by a tree‐like layer structure. For a pyramid object, the highest layer is the solid body, which is bounded by four faces, each face being bounded by three edges and each edge being defined by two vertices. The complete hierarchical structure of a pyramid object is shown in Figure 2.17.
Figure 2.17 Hierarchical structure of a pyramid object.
A hierarchical structure includes redundant information since the same geometric elements may have relations with multiple elements at high levels. Such redundancies can be eliminated by using a network data structure. As shown in Figure 2.18, a network data structure uses data pointers to represent the topological connections of geometric elements. The number of data pointers for a geometric element type can be varied based on the number of connections the element has with others.