Geometric Transformations¶
This chapter explains geometric transformations, such as translation, rotation, etc. The availabe transformations are listed and their properties are explained.
The various translations can be ordered and structured. Starting with the identity transform everything is invariant. The translation transform leaves everything but the position invariant, the rotation transform leaves everything but the rotation invariant. Combining translation and rotation yields a rigid transform, which leaves everything but position and rotation invariant. Combining a rigid transform with an isotropic scaling transform yields a similarity transform, which does no longer preserve area and length. An affine transform no longer leaves angles invariant and a projective transform does not preserve parallelism.
The hierarchy of the geometric transformations.
The diagram shows the various transforms in a hierarchy and the little drawings hint about the transformations that are carried out. nVision implements functions to transform various geometric primitives with these transformations. In addition, transformations can be determined by relating sets of points (often called passpoints) that correspond in both world and image coordinates.
Translation¶
Translation moves geometry in the plane by a translation vector.
It has two degrees of freedom, namely the horizontal and vertical displacements (i.e. the components of the translation vector).
A point
in the two-dimensional plane is translated or shifted by adding offsets to it. This can be written as:
or in matrix form:
By using homogeneous coordinates, the equation can also be written like this:
We will use the notation with homogeneous coordinates from now on.
Rotation¶
Rotation rotates geometry in the plane by some angle.
It has one degree of freedom, namely the rotation angle.
A point
in the two-dimensional plane is rotated around the origin by multiplying with a rotation matrix:
Rigid¶
A rigid transformation combines translation and rotation.
It has three degrees of freedom, namely the horizontal and vertical displacements (i.e. the components of the translation vector) and the rotation angle.
A point
in the two-dimensional plane is transformed by multiplying with a rigid matrix:
Isotropic Scaling¶
An isotropic scaling scales geometry in the plane by some factor.
It has one degree of freedom, namely the scaling factor.
A point
in the two-dimensional plane is transformed by multiplying with an isotropic scaling matrix:
Similarity¶
A similarity transformation combines a rigid transformation with isotropic scaling.
It has four degrees of freedom, namely the horizontal and vertical displacements (i.e. the components of the translation vector), the rotation angle and the scaling factor.
A point
in the two-dimensional plane is transformed by multiplying with a similarity matrix:
Scaling¶
A scaling scales geometry in the plane by different factors in the horizontal and vertical direction.
It has two degrees of freedom, namely the horizontal and vertical scaling factors (i.e. the components of the scaling vector).
A point
in the two-dimensional plane is transformed by multiplying with a scaling matrix:
Affine¶
An affine transformation has six degrees of freedom.
A point
in the two-dimensional plane is transformed by multiplying with an affine matrix:
Projective¶
A projective transformation has eight degrees of freedom.
A point
in the two-dimensional plane is transformed by multiplying with a projective matrix: