Set_Modelling_Matrix

Functions

void DSet_Modelling_Matrix (double float *matrix)
 
void Set_Modelling_Matrix (const float *matrix)
 Allows direct manipulation of the transformation that is applied against all the picture elements in a segment. More...
 
void UnSet_Modelling_Matrix (void)
 Removes all settings established by a previous call to Set_Modelling_Matrix(). More...
 

Detailed Description

Function Documentation

◆ Set_Modelling_Matrix()

void Set_Modelling_Matrix ( const float *  matrix)

Allows direct manipulation of the transformation that is applied against all the picture elements in a segment.

Parameters
matrix- Transformation matrix provided by the user. Passed by reference in all languages. May need to be transposed in languages other than C.

DETAILS

On the way out to the screen, each (x, y, z) coordinate triplet can be thought of as encountering the following:

  • First, the modelling transformation (there may a stack of them).
  • Second, the camera or viewing transformation (only one).
  • Third, any window (a stack, again).
  • And lastly, the particular device's coordinate system.


(Of course, the system combines these in advance to give one net transformation.)

Set_Modelling_Matrix() allows you to manipulate the first stage, but it is more common to accumulate a net modelling transformation by calling the utility routines Rotate, Translate, or Scale Object one or more times. If your program has a special need to compute and track geometric transformations, you can load the matrix directly.

Modelling matrices are cumulative—if another modelling matrix specification is encountered higher or lower in the segment tree, the matrices are combined (multiplied together) to give the logical effect.

The array should be stored so the column varies faster than the row as you proceed through consecutive memory locations. In C and Pascal, this usually means the first index of the array is the row index and the second index is the column.

The first, second, and third rows of the fourth column of array must be zero—no "perspective" transformation is allowed. The fourth row of the fourth column is usually 1.0 (it must not be zero.)

NOTES

RESTRICTIONS

See also
Rotate_Object, Translate_Object, Scale_Object, Append_Modelling_Matrix, Set_Camera_Position.

◆ UnSet_Modelling_Matrix()

void UnSet_Modelling_Matrix ( void  )

Removes all settings established by a previous call to Set_Modelling_Matrix().

DETAILS

No additional details. See Set_Modelling_Matrix()