PDA

View Full Version : R: Homogeneous transform? What one? For sure not that one.



unknown user
07-06-2005, 05:36 AM
Dear subscribers,

several biomechanists call “homogeneous transformation matrix” or
“homogeneous transform” the 4x4 transformation matrix used to rotate and
translate a reference system, i.e. to compute the position of a point in a
reference system B, based on its position in a reference system A. More
appropriately, the same matrix is also called, by others, the “position
matrix” (referring, of course, both to linear and angular position), a
particular kind of “general transformation matrix”.
This 4x4 matrix includes information about both the translation and
the rotation from reference system B to reference system A (although the
matrix is used to roto-translate from A to B). Further details about its
format are not needed here. They are specified, for instance, in:

Berme et al. (1990). Kinematics. In Berme & Cappozzo:
Biomechanics of human movement...
Washington (OH), Bertec Corporation.
Zatsiorsky (1998). Kinematics of human motion. Human Kinetics.

Since several widely used books or textbooks written by biomechanists
confirm that the expression “homogeneous transformation matrix” is used to
indicate the above 4x4 matrix, and none of these books discourages the
reader to follow suit, I just couldn’t help writing to you and warn you that
this terminology, in my opinion, is inappropriate, ambiguous and even
incorrect. This is because it is inconsistent with the general use of the
same terminology in geometry.
In geometry, the expression “homogeneous transformation” is generic,
and the term “transformation” is even more generic. Moreover, the term
“homogeneous” cannot be applied to a roto-translation such as that described
above!
Let me clearly explain the reasons why and to what extent this
terminology is questionable.

FIRST REASON

As far as I know, simple rotation, scaling (e.g. size change, even
different for each dimension, or measurement unit conversion) and even
shearing and reflection are all “homogeneous transformations”. The
expression cannot be used to indicate a specific transformation, nor a
specific 4x4 matrix. All of the following operations are called “homogeneous
transformations”:

HOMOGENEOUS TRANSFORMATIONS (IN 3D)
Pure rotation – e.g. performed by using a 3x3 “rotation” or
“orientation” or “attitude” matrix
Scaling – e.g. performed by using a simple scalar or
a 3x1 vector or a 3x3 matrix
Shearing – e.g. performed by using a 3x3 matrix
Reflection – e.g. performed by using a 3x3 matrix

All of these transformations can be also performed by using a general
4x4 transformation matrix (although the fourth row and column are not used
in this case, because translation is not included). Notice that a 3x3
rotation matrix and an equivalent 4x4 rotation matrix are both homogeneous
transformation matrices. Homogeneous doesn’t mean 4x4, nor “incorporating
both rotation and translation”, nor “permitting … a unified description”
(e.g. of both rotation and translation), as suggested in a biomechanics
textbook.

SECOND REASON

Surprisingly the translation, which is one of the simplest
transformations, is not an homogeneous transformation!
An “homogeneous transformation” (or “linear transformation”) is
defined as a transformation T such that, when applied to three different
vectors, a, b, and c = a+b, yields three other vectors, respectively a’, b’
and c’, for which the relationship c’ = a’+b’ is still valid (thus, T(a+b) =
Ta + Tb). Also, a homogeneous transformation T is such that, if “a” is a
vector and “s” is a scalar, s(Ta) = T(sa). Thus, scaling after a homogeneous
transformation is the same as scaling before it.
You can easily find yourself, with a simple drawing, that a
translation doesn’t meet the condition T(a+b) = Ta + Tb. Therefore, a
translation is not a homogeneous transformation. It is a rigid but not
homogeneous transformation. As an obvious consequence, the roto-translation
is not a homogeneous transformation as well, and by no means the 4x4
roto-translation matrix described above can be called an homogeneous
transformation matrix.
Not-homogeneous transformations include translation,
roto-translation, and perspective transformations.

With kind regards,

Paolo de Leva
Sport Biomechanics
University Institute of Motor Sciences
Rome, Italy