Abstract
On this page we start by trying to catergorise all possible transformations. One of the most important is an isometry, which is a combination of a translation and a rotation, this is important for mechanics because it can represent all possible movements of a solid body. We therefore go on to discuss the properties of isometries in more detail.
Prerequisites
So far we have shown various methods to represent rotation about the origin
of the coordinate system..
If you are not familiar with this subject you may like to look at the following
pages first:
3D Transformations
These transformations map each point in 3D space to a potentially different
point in 3D space.
We can build up many types of transformation by using a combination of these simple transforms:
| example |
type |
 |
Original |
 |
Translate |
 |
Rotate |
 |
Reflect |
 |
Shear |
 |
Scale |
| |
|
In some situations we need to need to restrict the types of transformation
that are allowed, for example if we are modeling a solid object, it can move
and rotate but we might not want it to scale, shear or reflect.
| |
translation |
rotation (around origin) |
reflection |
glides |
scale (from origin) contraction and expansion |
shear |
dilation |
spiral similarities |
| "proper" Orthogonal |
no |
yes |
no |
no |
no |
no |
no |
no |
| "improper" Orthogonal |
no |
yes |
yes |
no |
no |
no |
no |
no |
| "proper" isometries |
yes |
yes |
no |
no |
no |
no |
no |
no |
| "improper" isometries |
yes |
yes |
yes |
yes |
no |
no |
no |
no |
| affine (affinity) |
yes |
yes |
yes |
yes |
yes |
yes |
yes |
yes |
| linear |
yes |
yes |
yes |
yes |
yes |
yes |
yes |
yes |
| Projective transformations |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
Isometry
see group of spacial displacements SE(n)
This group represents the valid transforms for a solid body. This are known as isometries and they have the properties that:
- They preserve distances in the solid body (they do not change its shape)
- They preserve right or left handedness (they do not allow reflections)
Therefore SE(n) allows both translations and rotations but does not allow reflections, scaling, shears, etc.
Isometry in 2 dimensions SE(2)
Imagine that we want to transform the solid body at 'A' into the solid body at 'B'

Then we can define a point on A (such as the centre-of-mass) and the corresponding point on B. We can then combine two transforms:
- Do a linear translation such that the point on 'A' is transformed to the point on 'B'.
- Do a rotation about the point so that the solid body is correctly transformed.
However, there is a second option, we can do the translation all in one rotation:

So, provided that we can find a suitable point to rotate around (in the above example shown as green point) we can do the translation and rotation in one operation. The point that we rotate around must by equidistant to the chosen point on each body, therefore it must lie on a line perpendicular to the line joining the two points. So is there always a point that we can find that will do any combination of translation and rotation? To find out we can take two extremes:
- If the rotation point is exactly in the middle of the two objects then the object will be rotated by 180 degrees.
- If the rotating point is at infinity along the bisecting line then the object is translated only and the rotation will be zero.
By putting the point at some distance between these we can get any rotation between 0 and 180 degrees. We can get negative angles by moving in the opposite direction along the line.
Therefore we can do any rotation, translation combination in one rotation.
Doing the rotation-translation in one operation like this can make some calculations simpler and we don't have to consider whether we do the rotation around its original position first and then the translation, or do the translation first and then the rotation about its final position, or do a translation to the mid point first, then the rotation about the mid position and then the final half translation.
For more information about 2D translations and rotations see this page.
Isometry in 3 dimensions SE(3)
In 3 dimensions we can also represent an isometry as a rotation and a translation. Can we represent any isometry as a single rotation as we can in the 2D case as explained above?
In three dimensions there are three degrees of freedom of rotation but when we look for points that are equidistant to the centres of the objects pre and post transform position. The equidistant points lie on a plane which only has two degrees of freedom, but there is also the posibility to rotate around the line from the point. Therefore there are enough degrees of freedom to represent all possible isometrys. However this has not yet proved that we can represent any 3D isometry by a single rotation, can anyone help me with this?
There is another way to represent all possible isometries in three dimensions as a single operation, even though the operation is not a rotation, the operation is represented by a line round the outside of a cylinder. This is known as a screw (see this page for more information).
Choice of algebras for Isometry Transformations
When working on computer graphics, solid body mechanics and related subjects we often need to calculate translations and rotations. It is possible to use separate equations for the translation and the rotation. Translations are relatively simple and can be done using vector addition. However, the two are linked and it would help to have one equation to represent the combined translation in one single operation.
Upto now we have done rotational calculations using either 3 by 3 matrices or quaternions, these algebras can't handle isometry operations but they can be extended to do so:
We can extend 3x3 matrices to 4x4 matrices to allow them to represent translations in addition to rotations.
Or we can extend quaternions to dual quaternions to allow them to represent translations in addition to rotations.
Affine transformation
An affine transformation is any transformation that preserves collinearity (i.e., all points lying on a line initially still lie on a line after transformation) and ratios of distances (e.g., the midpoint of a line segment remains the midpoint after transformation).
In general, an affine transformation is a composition of rotations, translations, dilations, and shears.
Projective transformations
Projective transformations do not move any objects from the affine space R3 to the plane at infinity or conversely.
Orthogonal transform
can represent rotations only (positive determinant)
or rotation and reflection.
Affine transform
can represent translations, rotations, scaling (may be
different in x,y and z dimensions), shearing and reflections. Lines remain
straight and parallel lines remain parallel, but the angle between intersecting
lines can change.
Euclidean transformations
transformations preserve both angles and lengths
(i.e. translations, rotations and reflections). Determinant negative if there
is a reflection.
Rigid transformation
transformation which can represent the movement of
a solid object (i.e. translations and rotations only).
Special Affine transform
an affine transform where determinant of 3x3
part equals unity.
| |
Translation |
rotation |
reflection |
shearing |
scaling differently in each dimension |
determinant |
eigen values |
| linear transform (any 4x4 matrix) |
yes |
yes |
yes |
yes |
yes |
|
|
| Orthogonal transform |
no |
yes |
yes |
no |
no |
1 or -1 |
|
| proper rotation |
no |
yes |
no |
no |
no |
1 |
|
| improper rotation |
no |
yes |
yes |
no |
no |
-1 |
|
| Affine transform |
yes |
yes |
yes |
yes |
yes |
|
|
| Euclidean transformations |
yes |
yes |
yes |
no |
no |
|
|
| Rigid transformation |
yes |
yes |
no |
no |
no |
|
|
| Special Affine transform |
yes |
yes |
yes |
no |
no |
|
|
| projective transform |
|
|
|
|
|
|
|
Affine Transformations can represent an combination of rotations and translations.
Therefore affine transformations are good for represent the movement of solid
objects whose position can be represented by a combination of its centre coordinates
and its orientation. (see kinematics)
This section covers the following methods to represent both rotation and translation
together.
We can then represent rotation about any arbitrary point.
Conversion between affine representations:
Next
How these quantities are used to simulate physical objects:
This site may have errors. Don't use for critical systems.
Copyright (c) 1998-2008 Martin John Baker - All rights reserved.