Announcement

Collapse
No announcement yet.

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

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • R: Homogeneous transform? What one? For sure not that one.

    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
Working...
X