M-File Help: trnorm | View code for trnorm

# trnorm

Normalize a rotation matrix

rn = trnorm(R) is guaranteed to be a proper orthogonal matrix rotation matrix (3x3) which is "close" to the non-orthogonal matrix R (3x3). If R = [N,O,A] the O and A vectors are made unit length and the normal vector is formed from N = O x A, and then we ensure that O and A are orthogonal by O = A x N.

tn = trnorm(T) as above but the rotational submatrix of the homogeneous transformation T (4x4) is normalised while the translational part is passed unchanged.

If R (3x3xK) or T (4x4xK) represent a sequence then rn and tn have the same dimension and normalisation is performed on each plane.

## Notes

- Only the direction of A (the z-axis) is unchanged.
- Used to prevent finite word length arithmetic causing transforms to become `unnormalized'.

## See also

oa2tr

© 1990-2014 Peter Corke.