
In motion analysis, it is often necessary to compute the transformation matrix directly from the coordinates of the markers fixed on a moving body. This can be done if more than 3 markers are fixed on the body. Once the transformation matrix is known, the orientation angles and eventually the location of center of rotation as well may be computed. As shown in Figure 1, an object rotates from position 1 to position 2 about the center of rotation (C). Let rotation matrix R be
The following relationship holds:
where [x_{c}, y_{c}, z_{c}] = the coordinates of the center of rotation, [x_{1i}, y_{1i}, z_{1i}] = the position of marker i at position 1, and [x_{2i}, y_{2i}, z_{2i}] = the position of marker i at position 2. [2] involves a total of 12 unknowns, thus requires at least 4 markers since each marker provides 3 equations. In an effort to reduce the number of unknowns involved, [2] can be reduced to
where
and N = number of markers. [3] basically shows the rotational transformation about the meancoordinate point within the body, involving 9 unknowns. At least 3 markers are required here. From [3]:
Applying the leastsquare approach to [6]:
Further developing [7]:
since
and
Matrix shown in [10] is a 1 x 1 matrix (scalar) so it is equal to its transpose. The leastsquare approach presented in [7] is in fact equivalent to
Further developing [11]:
since
where tr(a) = the trace (sum of the diagonal terms) of matrix a. Now, let
where c = the crossdispersion matrix or the correlation matrix. From [11], [12] & [14]:
Computation of the Rotation Matrix The singular value decomposition of matrix c shown in [15] provides
where u & v = orthogonal matrices, and w = diagonal matrix containing the singular values of c. See the Singular Value Decomposition page in this section for the details of this method. Substituting [16] into [15],
where
since
Since matrix w shown in [17] is a diagonal matrix, only the diagonal elements of matrix c' shown in [17] and [18] can contribute to the trace. In addition, matrix c' must be orthogonal because all three matrices composing c' are orthogonal. Therefore, tr(c'w) becomes maximum when c' is the identity matrix:
Therefore,
One problem that may arise here in using [21] is that matrix R obtained from [21] can have a determinant of 1. In other words, one can obtain a reflection matrix of the desired rotation matrix. [21] can be modified to solve this problem:
[22] can be used effectively in quantifying the joint motions. As shown in Figure 2, one can transform the global coordinates of the markers fixed to the distal segment to those described in the proximal segment's reference frame (frame P):
where i = marker, x = the position of the marker observed in frame P, T_{P/G} = the transformation matrix from the global frame to frame P, X = the global position of the marker, and X_{P} = the global position of the origin of frame P. Thus, vectors x'_{1i} & x'_{2i} shown in [2] can be obtained as
The rotation matrix to be obtained from [22] in this case is therefore the joint motion matrix. One thing, at least 3 markers must be commonly observed at both positions (N shown in [7] >= 3). References & Related Literature Challis, J.H. (1995). A procedure for determining rigid body transformation parameters. J. Biomechanics 28, 733737.

© YoungHoo Kwon, 1998 