Graphics Reference
In-Depth Information
2.1.2 Rigid 3D Transformations
3D rigid transformations (namely rotations, translations, or combinations of both) are special
cases of linear transformation. Let the vector v represent a 3D point augmented by one, v
=
[ xyz 1] , the vector v represents the linear transformation of v , and the vector t
[ t x t y t z ]
represents the translation (the displacement of the surface points in the x -, y - and z -directions).
The linear transformation is expressed as in Equation 2.13.
=
Mt
o
v
v =
Av
=
,
(2.13)
1
where o is a vector of zeros, [0 0 0] , and the matrix A is square (4
4). Note that it is
possible to represent the same linear transformation using a non-square matrix (3
×
×
4) or just
using a 3
×
3 matrix by multiplying M by the point vector then adding the translation vector,
v =
4 matrix makes it possible to represent a sequence of
linear transformations through matrix multiplication, A t =
Mv
+
t . However, the use of a 4
×
A 2 A 1 , where A i 's represent
successive rigid transformations culminating into a total rigid transformation represented
by A t .
In the most general case of Equation 2.13 (when the values of M and t are arbitrary), the
transformation is affine. Applying an affine transformation on a 3D surface may change its
shape (including the scale and the shear), its orientation (due to rotations) and its location
(due to translations). However, the parallelism between lines (formed by surface points) is
preserved. The special case when M is orthonormal ( M =
A n ...
M 1 or equivalently I
MM )
=
and satisfies det( M )
1 results in a rigid transformation. In this case, the matrix M is called
a rotation matrix and is denoted by R , and for such transformation (rigid) only the orientation
and the location of the surface may change while the surface shape is preserved. When the
matrix M is equal to an identity matrix I , it corresponds to no rotations, but the surface
translates according to t .
As indicated by Euler's rotation theorem, any arbitrary (or general) rotation can equally be
achieved by a sequence of three rotations about the x -, y - and z -axes, each represented by the
Euler angles
=
. The (total) rotation matrix corresponding to these parameters R t is
given by the following equations, where R α , R β , and R γ
α
,
β
, and
γ
are the rotation matrices about x -, y -
and z -axes.
1
0
0
R α =
0
cos
α
sin
α
(2.14)
0
sin
α
cos
α
cos
β
01 0
sin
β
0
sin
R β =
(2.15)
β
0
cos
β
cos
γ
sin
γ
0
R γ =
sin
γ
cos
γ
0
(2.16)
0
0
1
Search WWH ::




Custom Search