To transform a vector from one reference frame to another is equivalent to changing the perspective of describing the vector from one to another (Figure 1). A transformation alters not the vector, but the components:
where i, j & k = the unit vectors of the XYZ system, and i', j' & k' = the unit vectors of the X'Y'Z' system. Therefore, the transformation matrix from the global reference frame (frame G) to a particular local reference frame (frame L) can be written as
The local reference frame is typically fixed to a segment or a body part.
Similarly, TG/L, the inverse transformation matrix of TL/G, can also be derived as
As shown in  and , TG/L is in fact the same to the transpose of TL/G:
In , the dot products of the unit vectors of the two reference frames are in fact the same to the components of i', j' and k' described in frame G. Therefore, the first row of the transformation matrix becomes the same to i' described in frame G, while the second and third rows are the same to unit vectors j' and k' described in frame G, respectively. Let the unit vectors of frame L described in frame G be:
From  and :
This exercise is quite useful since the immediate products of motion analysis is the global coordinates of the markers attached to the subject's body and computation of the unit vectors of the local reference frames from the global coordinates of the markers is a relatively simple task if the local reference frames are well-defined. Using , one can easily form the transformation matrices from the global frame to the local frames.
Since the rows in  are the three unit vectors of frame L described in frame G and the columns are the three unit vectors of frame G described in frame L (), the following orthogonality conditions hold:
A series of transformations can be performed through successive multiplication of the transformation matrices from the right to the left:
In other words, a series of transformation is equivalent to a single transformation directly from the originating frame to the destination frame (A to Z in ). In a sense, it is similar to the arithmetic multiplication of the frame subscripts:
Similarly, the transformation matrix from one local reference frame (A) to another (B) can be easily obtained through cascading of the transformation matrices:
Once the transformation matrices from the global reference frame to the local reference frames are known, computation of the transformation matrices among the local reference frames is simply a matter of transposition and multiplication of the transformation matrices.
So far we only have dealt with the rotation of the reference frame. This is normally sufficient in working with free vectors such as velocity, force, etc. But it matters when one deals with the position vectors because positions are described by the arrow drawn from the origin of the reference frame and different frames may have different origins. In other words, when one transforms a position vector from one reference frame to another, the translation of the frame origin must be taken into accounts as well:
where (tx, ty, tz)t = the translation matrix.  can be used when the translation vector is described in the destination frame coordinates.  is for the case where the translation vector is described in the originating frame coordinates.
An alternative from to  is
where TB/A = the 3x3 transformation matrix from frame A to frame B. The advantage of  is that one can eliminate matrix addition in  so that put both the rotation and the translation in a single 4x4 transformation matrix. But it theoretically takes longer computer time due to additional computations.
© Young-Hoo Kwon, 1998-