Re: transformation matrix decomposition
- From: Wolfgang Draxinger <wdraxinger@xxxxxxxxxxxxxxxx>
- Date: Fri, 15 Feb 2008 21:44:11 +0100
edoardo wrote:
Hi,
this is my first message in this group so: don't be rude :)
I understand how I can compose transformation matrixes
(translation, rotation, scale) but I have a doubt: if I have a
composed matrix, am I able to decompose It in a scale, a
rotation and a traslation? Are there any limits and where may I
find some documentation about how to do It?
OpenGL - like most 3D graphics implementations - uses homogenous
coordinates, i.e. 4-vectors and 4x4-matrices.
A homogenous transformation amtrix can be throught of 3 parts:
* rotational/scaling part
* translational part
* shearing part
| R_xx R_xy R_xz T_z |
| R_yx R_yy R_yz T_y |
M = | R_zx R_zy R_zz T_z |
|
| S_x S_y S_z 1 |
Translation and shearing can be described by each single vectors.
If you want them in matrix form just take the translation/shear
submatrix and fill the rest with the identity matrix (all 0
except the diagonal).
Rotation and Scaling are both described by the same 3x3
submatrix. A rotation matrix has the property of being
orthogonal. And if the scale is 1, then it is orthonormal. So to
determine the scale you just have to determine the normalisation
factor(s) of the rotation matrix.
The rotational axis is the eigenvector of R (there's one and only
one eigenvector if R is a rotation matrix - you might get two,
but they're just antiparallel and have the same eigenvalue).
Wolfgang Draxinger
--
E-Mail address works, Jabber: hexarith@xxxxxxxxxx, ICQ: 134682867
.
- References:
- transformation matrix decomposition
- From: edoardo
- transformation matrix decomposition
- Prev by Date: transformation matrix decomposition
- Next by Date: Re: transformation matrix decomposition
- Previous by thread: transformation matrix decomposition
- Next by thread: Re: transformation matrix decomposition
- Index(es):
Relevant Pages
|
Loading