Transform

DESCRIPTION

Applies a transformation matrix to the coordinates of lattice and pyramid input data, rotating and translating in any number of dimensions. Transform accepts the standard 4x4 matrix output of TransformGen for 3D transformations. In general, the transformation matrix manipulates homogeneous coordinates, with the last row and column of the matrix representing the scalar offsets.

For an MxN transformation matrix, where the M index is assumed to vary most rapidly, the calculation of the matrix multiplication computes output coordinates (out) based on input coordinates (in) as follows:

out(i) = mat(i, N-1) + sum mat(i,j) * in(j), j < N, j >= 0

where 0 <= i < M-1. The Mth output coordinate is omitted, yielding M-1 as the number of coordinate variables of the output. If N-1 is less than the number of input coordinate variables, the additional matrix columns are ignored.

The module is based on the cxCoordTransform API routine.

INPUTS

Port: Lattice In
Type: Lattice
Optional: This port is optional.
A lattice whose coordinates are to be modified through multiplication by the transformation matrix.

Port: Pyramid In
Type: Pyramid
Optional: This port is optional.
Constraints: n-layer
Constraints: optional-baseLat
Constraints: n-D compression
Constraints: n-compression type
A pyramid whose coordinates are to be modified through multiplication by the transformation matrix. The coordinate transformation is applied to all cxCoord structures in the lattices of the pyramid, including the base lattice.

Port: Transform
Type: Lattice
Constraints: 2-D
Constraints: 1-vector
The MxN transformation matrix in homogeneous coordinates.

WIDGETS

OUTPUTS

Port: Lattice Out
Type: Lattice
The transformed lattice. A new cxCoord structure is created to hold the curvilinear coordinates. The input cxData structure is referenced from the input data.

Port: Pyramid Out
Type: Pyramid
Constraints: n-layer
Constraints: optional-baseLat
Constraints: n-D compression
Constraints: n-compression type
The transformed pyramid. A new cxCoord structure is created to hold the curvilinear coordinates in each lattice. The input cxData, cxConnection, and pyramid dictionary structures are referenced from the input data.

KNOWN PROBLEMS

SEE ALSO

TransformGen.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000