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 [xc, yc, zc] = the coordinates of the center of rotation, [x1i, y1i, z1i] = the position of marker i at position 1, and [x2i, y2i, z2i] = the position of marker i at position 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,  can be reduced to
and N = number of markers.  basically shows the rotational transformation about the mean-coordinate point within the body, involving 9 unknowns. At least 3 markers are required here. From :
Applying the least-square approach to :
Further developing :
Matrix shown in  is a 1 x 1 matrix (scalar) so it is equal to its transpose.
The least-square approach presented in  is in fact equivalent to
Further developing :
where tr(a) = the trace (sum of the diagonal terms) of matrix a.
where c = the cross-dispersion matrix or the correlation matrix.
From ,  & :
The singular value decomposition of matrix c shown in  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  into ,
Since matrix w shown in  is a diagonal matrix, only the diagonal elements of matrix c' shown in  and  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:
One problem that may arise here in using  is that matrix R obtained from  can have a determinant of -1. In other words, one can obtain a reflection matrix of the desired rotation matrix.  can be modified to solve this problem:
 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, TP/G = the transformation matrix from the global frame to frame P, X = the global position of the marker, and XP = the global position of the origin of frame P. Thus, vectors x'1i & x'2i shown in  can be obtained as
The rotation matrix to be obtained from  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  >= 3).
Challis, J.H. (1995). A procedure for determining rigid body transformation parameters. J. Biomechanics 28, 733-737.
© Young-Hoo Kwon, 1998-