No announcement yet.

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

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

  • 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).



    -----------------original post

    Dear Subcribers / Paolo,

    It's true that there is an inconsistency in the usage of the term
    "homogeneous transformation", and this results from multiple definitions
    of the term originating in different branches of mathematics.
    Unfortunately however, these are very well established and there is not
    much chance of renaming either. It's probably best to be aware of both
    meanings and be happy with that.

    I believe when talking about 4x4 transformations and 4x1 / 1x4 position
    vectors the term homogeneous refers to the fact that multiple 4
    dimensional vectors can describe the same position. Such a family of
    vectors is in that sense "homogeneous", and the term "homogeneous
    transformation" is derived from the concept of "homogeneous coordinates".

    i.e. The point (1,2,3) can be written (1,2,3,1) or (2,4,6,2), or (0.5,
    1, 2, 0.5). The last element is a scaling factor, and the actual
    coordinates are typically extracted by scaling the vector such that the
    last element is 1. Among other things, this allows for example a
    translation, or an arbitrary orthogonal coordinate transform to be
    effected using a matrix multiplication operation. The concept is not
    limited to 3D coordinates of course...

    Best wishes,


    Paolo de Leva wrote:

    > 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.
    > 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”:
    > 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.
    > 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
    > ---------------------------------------------------------------
    > Information about BIOMCH-L:
    > Archives:
    > ---------------------------------------------------------------

    Joshua G. Hale, Ph.D. Tel +81 774 95 2403
    ATR Computational Neuroscience Laboratories Fax +81 774 95 1236
    2-2-2 Hikaridai "Keihanna Science City" josh(at)
    Seika-cho Souraku-gun Kyoto 619-0288 Japan