transform node quation


#1

Hi,
I am trying to understrand the transformation matrices used in “transform” node. According to maya docs, the final transformation is :
matrix = SP(-1) * S * SH * SP * ST * RP(-1) * RA * R * RP * RT * T
I know it’s a row major, so if we use a fixed frame logic (i.e. fixing world coordinates and actively transform objects), we can read the matrix from left to right (i.e. post multiplication) as : scale pivot inverse translation SP(-1), then scale S , then shear SH, then going back to the same pivot point…

My question: I don’t understand why we need
(1) scale pivot correction ST (SP-1 cancels SP, so why need ST? getAttr transform.spt always returns 0 0 0 )
(2) rotation pivot correction RT, (as above RP-1 then RP, why need RT) and
(3) RA

Can anyone provide a case where ST/RT/RA are needed? Is there any document/pdf/papers that explain the needed for these three matrices? I found lots of resources on transformation matrices but could not find any these docs that explain any possible need for these matrices…

Thanks in advance,


#2

A transformation matrix is composed of the following components:
Scale pivot point point around which scales are performed [Sp]
Scale scaling about x, y, z axes [S]
Shear shearing in xy, xz, yx [Sh]
Scale pivot translation translation introduced to preserve existing scale transformations when
moving pivot. This is used to prevent the object from moving when the objects pivot point is
not at the origin and a non-unit scale is applied to the object [St].
Rotate pivot point point about which rotations are performed [Rp]
Rotation orientation rotation to orient local rotation space [Ro]
Rotation rotation [R]
Rotate pivot translation translation introduced to preserve exisitng rotate transformations
when moving pivot. This is used to prevent the object from moving when the objects pivot
point is not at the origin and the pivot is moved. [Rt]
Translate translation in x, y, z axes [T]

Matrix: [Sp]x[S]x[Sh]x[Sp]x[St]x[Rp]x[Ro]x[R]x[Rp]x[Rt]x[T]
Inverse Matrix: Spx[S]x[Sh]x[Sp]x[St]xRpx[Ro]x[R]x[Rp]x[Rt]x[T]

where ‘x’ denotes matrix multiplication and ‘-1’ denotes matrix inversion


#3

Hi DDelapena,

Sorry for this late reply! I got busy doing other tasks and could not look at your explaination.

Happy holidays and thanks for your help :slight_smile: