Rigid Body Transformations
Rigid Body Transformations
David Rosen
Georgia Institute of Technology
Translation Transformations
It is easiest to visualize rigid-body transformations by observing theireffect in two dimensions. Translation in the XY plane is straightforward.Coordinate system X'Y' is displaced by 3 units in the X and 4 units inthe Y directions, as shown in Figure 1.

Figure 1 Rigid-Body Translation.
In order to calculate the XY coordinates of a point defined in the X'Y'systems, it is necessary to just add the X'Y' coordinate system displacementto the X'Y' point. The set of simultaneous equations is:
x = X' displacement + x'
y = Y' displacement + y'
which can be reorganized into matrix form as:
![]()
or, in 2-dimensional homogeneous coordinate form,

This matrix form can be extended to handle 3-dimensional homogeneouscoordinate transformations, as in Equation 1:

If it is desired to calculate the XY coordinates of a point in the X'Y'coordinate system, the point's coordinates are substituted for x' and y'in the equation above. For example, consider the point (5,2). It shouldhave XY coordinates of (8,6) (8 = 3 + 5; 6 = 4 + 3). The matrix math isshown below:

Rotation Transformation
Rotation is somewhat more complicated. Again, a coordinate system X'Y'is transformed (just rotated for now) relative to coordinates XY by a rotationabout the Z axis of Theta. The X and Y axes change as shown below in Figure2. A point (x', y') in the X'Y' system has coordinates definable in theXY system. Consider the x' component. It projects onto the X axis as x'cos(theta)and onto the Y axis as x'sin(theta). Component y' projects similarly. Todetermine the point's XY coordinates, it is a simple manner of combiningthe affects of x' and y'. Coordinates (x,y) can be determined as:
x = x'cos(theta) - y'sin(theta)
y = x'sin(theta) + y'cos(theta)

Figure 2 Rigid-Body Rotation about the Z Axis.
And, the rotation transformation matrix, [R(z,theta)], is shown below:

For completeness, the rotation matrices for Y and X axis rotations aregiven, respectively, below:


Roll-Pitch-Yaw Transformation Convention
The convention that we will use to combine transformations is calledthe Roll-Pitch-Yaw (RPY) convention. This consists of XYZ translationsto displace the coordinate origin, followed by rotations about the threecoordinate axes in the order: about the DISPLACED Z axis, about the ROTATEDY axis, then about the ROTATED X axis. Pictorially, the RPY conventioncan be interpreted as a ship rolling side-to-side about the axis in whichit is headed, pitching up and down, and yawing about a vertical axis, seeFigure 3.

Figure 3 Pictorial Interpretation of Roll-Pitch-Yaw.
The rotational parts are combined as follows:
[R] = [R(z)][R(y)][R(x)]
And, substituting,


Combined Rotation-Translation Transformations
Composite transformation matrices can be formulated by combining translational and rotational elements. Composite transformations will be interpreted as model-reference transformations. That is, imagine a coordinate system X'Y' being first displaced relative to coordinate system XY, then being rotated relative to the displaced system (X'Y') to give coordinate system X''Y''.
In contrast to model-reference transformations, world-reference transformations act relative to the global coordinate system. Hence, all rotations and translations are performed relative to coordinates XY.
Following the model-reference convention, we will perform translations first, then rotate about the translated coordinate system. As an example, consider the composition of Z axis rotation with XYZ translation. Note the elegant result. This is an example of a homogeneous transformation matrix.


Combined with the XYZ translations, the RPY transformation matrix is:

This is the Roll-Pitch-Yaw matrix that we will use to describe all 3Dcoordinate transformations.
Matlab code for rigid-body transformations can be downloaded by clicking on the following Zip file: