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

Paolo De Leva
07-12-2005, 05:50 AM
Dear subscribers,

referring to the posting by Andreas Boehm on behalf of Joshua Hale,
I would like to make it clear that I did not and will not propose new
terminology. On the contrary, I believe that new terminology introduced in a
specific field was inappropriate and clearly conflicting with previously
defined terminology. This previously defined terminology belongs to the
level of abstraction of mathematics, thus its applications are not limited
to a specific field such as computer graphics (CG) or physics or mechanics
or biomechanics.

There's no need to introduce a new expression to indicate the 4x4
transformation matrix (T.M.) described in my first posting. Several other
expressions are available. These other expressions are widely known and
habitually used by computer graphics experts and biomechanists as well.

The particular format of that 4x4 transformation matrix (T.M.) can
be and is used for several DIFFERENT kinds (species) of transformations:
translation, rotation, scaling, shearing, reflection, and any combination of
these tranformations. By the way, "different" means HETEROGENEOUS, i.e. not

The 4x4 T.M. matrix format is general, i.e. not specific, i.e.
multi-purpose. Thus, someone calls it the "GENERAL T.M.". I am not saying I
like this expression. It's too generic, it might be ambiguous, but I believe
it's correct.

The 4x4 matrix used in biomechanics is typically a "ROTO-TRANSLATION
MATRIX", performing only rotation and translation, no shearing, no
reflection, and no scaling. In this case, "roto-translation matrix" is the
clearest name, in my opinion.

In biomechanics, the roto-translation matrix is also correctly
called the "POSITION MATRIX" (referring to both the angular and linear
positions of a reference system and its origin). That's an appropriate and
meaningful name.

The 4x4 T.M. will perform an "homogeneous (also called linear)
transformation" when used to perform just rotation and/or scaling and/or
reflection. Unfortunately, these transformations can be all performed also
with a 3x3 matrix!
Translation and shearing are not homogeneous (i.e. not linear)
transformations. Translation, shearing, rotation, scaling and reflection all
belong to the group of affine transformations (notice that affine
transformations include homogeneous transformations). Thus, the 4x4 T.M.
will perform an "affine transformation" when a non-null translation vector
is included in its fourth row or column or when some of its elements are
multiplied by a "shearing factor". Hence, you might want to call this matrix
an "AFFINE T.M.".
Notice that the concept "affine" means something "not perfectly
equal", but similar. On the contrary, "homo-geneous" means "of equal kind"
(homos = equal, in greek). And this stresses my point: ethimologically,
affine clearly means not-necessarily-homogeneous!

The 4x4 T.M. might also be used to perform a "rigid" transformation
when scaling and shearing are not included. The roto-translation, for
instance, is a rigid transformation. Thus, the roto-translation matrix might
be called a "RIGID T.M.". However, consider that a pure rotation is a rigid
transformation as well, and pure rotations can be performed using simple 3x3
rotation matrices.

Finally, the 4x4 T.M. can be viewed as a matrix performing a
"transformation in homogeneous coordinates" (i.e. between two vector spaces
represented in homog. coordinates), as some computer graphics experts
correctly write, although it is not necessary to know the complex concept of
homogeneous coordinates to understand format and "behaviour" of a 4x4 matrix
using only three zeros and a one [0, 0, 0, 1] in the fourth column or row.

It is true that, if you like, you can call the 4x4 T.M. a
"homogeneous matrix" (not referring to the transformation, but to the
matrix). But that is, in my opinion, a poor terminological choice, because
that matrix is not really homogeneous. It looks quite "heterogeneous": it
performs several different kinds of transformations and, more importantly,
it contains at least two clearly different types of vectors:
1) a triad of vectors with null fourth element, e.g.
a = [a1, a2, a3, 0]
or its transpose a', representing several kinds of
transformations, and
2) a single translation vector with its fourth element equal to 1,
t = [t1, t2, t3, 1]
or its transpose t'.
Probably some of you won't agree, but in my opinion vector types 1
and 2 are heterogeneous (i.e. different, not homogeneous) with respect to
each other.

Actually, I don't care much about the exact name of the 4x4 T.M. I
just would like to read and hear names that have a clear meaning and help me
to understand what the writer is talking about, rather than mixing me up! I
hope that, at least on this last generic concept, everybody will be kind
enough to agree.

With kind regards,

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

-----Messaggio originale-----
Da: * Biomechanics and Movement Science listserver
[mailto:BIOMCH-L@NIC.SURFNET.NL] Per conto di Andreas Boehm
Inviato: venerd́ 8 luglio 2005 10.34
Oggetto: R: Homogeneous transform? What one? For sure not that one.


I post this on behalf of Joshua Hale .

Andreas Boehm

-----------Posting copied below:- (included previous post)

Dear Subscribers / Paolo,

My point is simply that "homogeneous transformation matrices" are a very
well established, and using an alternative terminology is likely to
confuse more people than are intellectually liberated by inventing a new
term to describe them. -Not that I want to stand in the way of progress...

In defence of the term itself, perhaps "homogeneous" refers to the
matrices themselves, and not the transformation it encodes? i.e., if all
the elements excluding the bottom right corner element are scaled by
some factor k, and the bottom right corner element is scaled by 1/k, the
resultant matrix is homogeneous with the original matrix. (The latter is
not allowed to be zero).