DESCRIPTION: This module tests the functions provided by PHIGS to support modelling transformations. These functions do not depend on the state of PHIGS data structures, nor do they affect them; their behavior interacts only with their input and output parameters. SEMANTIC REQUIREMENTS:#F 91-106
SR1. Modelling transformations are represented as 4x4 (for 3D) or 3x3 (2D) matrices which pre-multiply points to be transformed.
#F 91-106
SR2. Points are represented as column vectors with homogeneous coordinates, i.e. the coordinates x,y,z,w represent the three dimensional point (x/w, y/w, z/w).
#F 91
SR3. <Translate 3> generates a 3D homogeneous transformation matrix to translate a point from (x,y,z) to (x+dx, y+dy, z+dz).
#F 92
SR4. <Translate> generates a 2D homogeneous transformation matrix to translate a point from (x,y) to (x+dx, y+dy).
#F 93
SR5. <Scale 3> generates a 3D homogeneous transformation matrix to scale a point from (x,y,z) to (x*sx, y*sy, z*sz).
#F 94
SR6. <Scale> generates a 2D homogeneous transformation matrix to scale a point from (x,y) to (x*sx, y*sy).
#F 95
SR7. <Rotate x> generates a 3D homogeneous transformation matrix to rotate a point counterclockwise around the X axis by the specified rotation angle.
#F 96
SR8. <Rotate y> generates a 3D homogeneous transformation matrix to rotate a point counterclockwise around the Y axis by the specified rotation angle.
#F 97
SR9. <Rotate z> generates a 3D homogeneous transformation matrix to rotate a point counterclockwise around the Z axis by the specified rotation angle.
#F 98
SR10. <Rotate> generates a 2D homogeneous transformation matrix to rotate a point counterclockwise around the origin by the specified rotation angle.
#F 99
SR11. <Compose matrix 3> generates a 3D homogeneous transformation matrix which performs the same transformation as that resulting from the multiplication of the two specified matrices.
#F 100
SR12. <Compose matrix> generates a 2D homogeneous transformation matrix which performs the same transformation as that resulting from the multiplication of the two specified matrices.
#F 101
SR13. <Transform point 3> returns the 3D point resulting from applying the specified transformation matrix to the specified point.
#F 102
SR14. <Transform point> returns the 2D point resulting from applying the specified transformation matrix to the specified point.
#F 103
SR15. <Build transformation matrix 3> generates a 3D homogeneous transformation matrix to perform the specified transformation. This transformation performs the following operations in order, relative to the fixed point: scale, rotate x, rotate y, rotate z, and shift.
#F 104
SR16. <Build transformation matrix> generates a 2D homogeneous transformation matrix to perform the specified transformation. This transformation performs the following operations in order, relative to the fixed point: scale, rotate, and shift.
#F 105
SR17. <Compose transformation matrix 3> generates a 3D homogeneous transformation matrix to perform the specified transformation. This transformation performs the following operations in order, relative to the fixed point: scale, rotate x, rotate y, rotate z, and shift, and then apply the specified matrix.
#F 106
SR18. <Compose transformation matrix> generates a 2D homogeneous transformation matrix to perform the specified transformation. This transformation performs the following operations in order, relative to the fixed point: scale, rotate, and shift, and then apply the specified matrix.
LOCAL DICTIONARY:
Functions --- 091: ptr3 <translate 3> 092: ptr <translate> 093: psc3 <scale 3> 094: psc <scale> 095: prox <rotate x> 096: proy <rotate y> 097: proz <rotate z> 098: pro <rotate> 099: pcom3 <compose matrix 3> 100: pcom <compose matrix> 101: ptp3 <transform point 3> 102: ptp <transform point> 103: pbltm3 <build transformation matrix 3> 104: pbltm <build transformation matrix> 105: pcotm3 <compose transformation matrix 3> 106: pcotm <compose transformation matrix> Data Structures --- 7 ... structure_state_list 7.3 ... list_of_structure_elements 7.3.3 ... modelling_transformation_elements 7.3.3.1 ... local_transformation_3 7.3.3.2 ... local_transformation 7.3.3.3 ... global_transformation_3 7.3.3.4 ... global_transformation LOCAL SUBROUTINES: These tests use the transformation subroutine library. See that library for documentation of the routines.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.