AffineParts Struct Reference
 
 
 
AffineParts Struct Reference

This reference page is linked to from the following overview topics: Emulating Reset Transform and Reset Scale, World Space Modifiers and Object Transformations.


#include <decomp.h>

Inheritance diagram for AffineParts:
MaxHeapOperators

Class Description

See also:
Class Matrix3, Class Quat, Class Point, Class ScaleValue.
Remarks:
This structure and the associated functions provide a way to decompose an arbitrary Matrix3 into its translation, rotation, and scale components.

To use these APIs put the following statement in your source file:
#include "decomp.h"

For a full discussion of this decomposition see Graphics Gems IV - Polar Matrix Decomposition by Ken Shoemake. ISBN 0-12-336155-9.

T F R U K U'
T - translation matrix
F - either an identity matrix or negative identity matrix
R - rotation defined by Quat q.
U - rotates you into the coordinates system where the scaling or stretching is done
K - scaling matrix
U' - inverse of u.
See Functions:
SpectralDecomp(Matrix3 m, Point3 &s, Quat& q);
decomp_affine(Matrix3 A, AffineParts *parts);
invert_affine(AffineParts *parts, AffineParts *inverse);

Public Attributes

Point3  t
  The translation components.
Quat  q
  The essential rotation.
Quat  u
  The stretch rotation.
Point3  k
  The stretch factors.
float  f
  Sign of the determinant.

Member Data Documentation

The translation components.

The essential rotation.

The stretch rotation.

This is the axis system of the scaling application.

The stretch factors.

These are the scale factors for x, y and z.

float f

Sign of the determinant.