 [ Up ] [ Orientation Angles ] [ Computation of the Orientation Angles ] [ Joint Angle vs. Orientation Angles ] [ Angular Velocity vs. Orientation Angles ] [ Electromagnetic Motion Sensors ] [ Joint Center: Functional Method ] [ Computation of the Rotation Matrix ] [ Helical (Screw) Axis ] [ Motion Sensors: Joint Center ] Rotation of a Body The Least-Square Approach Computation of the Rotation Matrix Application References & Related Literature Rotation of a Body

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 Figure 1 .    

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 where  ,    

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 : .    

Top The Least-Square Approach

Applying the least-square approach to : .    

Further developing : since and .    

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 : since where tr(a) = the trace (sum of the diagonal terms) of matrix a

Now, let ,    

where c = the cross-dispersion matrix or the correlation matrix.

From ,  & : .    

Top Computation of the Rotation Matrix

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 , ,    

where ,    

since 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: .    

Therefore, .    

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: .    

Top Application

 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): Figure 2 ,    

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

Top References & Related Literature

Challis, J.H. (1995). A procedure for determining rigid body transformation parameters. J. Biomechanics 28, 733-737.

Top © Young-Hoo Kwon, 1998-