4 Data Structures

4 Matrices

QuickDraw3D defines 3-by-3 and 4-by-4 matrices as structures containing two-dimensional arrays of floating-point numbers as the single field in the structure. This convention allows for easy structure copying and for passing matrix parameters either by value or by reference. In a C language two-dimensional array, the second index varies fastest; accordingly, you can think of the first index as representing the matrix row and the second index as representing the matrix column. For example, consider the 3-by-3 matrix A defined like this:

Here, A[0][0] is the matrix element a, and A[2][1] is the matrix element h.

Matrices are defined by the TQ3Matrix3x3 and TQ3Matrix4x4 data types.

Remember that arrays in C are indexed starting with 0.<8bat>u

typedef struct TQ3Matrix3x3 {
 float         value[3][3];
} TQ3Matrix3x3;
typedef struct TQ3Matrix4x4 {
 float         value[4][4];
} TQ3Matrix4x4;
value An array of floating-point values that define the matrix.

3D Graphics Programming with QuickDraw 3D - 21 OCT 1995

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker