Paolo De Leva

07-06-2005, 05:34 PM

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 given, 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

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 given, 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