You are on page 1of 3

TECHNICAL NOTE

RIGID BODY MOTION CALCULATED FROM SPATIAL


CO-ORDINATES OF MARKERS*

INTRODUCTION pression to be minimized is the same but the solution process


Several methods have been developed for the kinematical is different. Three or more non-collinear points are used and
analysis of bone movements in cadaveric specimens or living no initial approximation is needed.
subjects (Rodrigues, 1840; Kinzel et al., 1972; Selvik, 1974;
Chao, 1978). Methods based on X-ray or light photo-
DETERMINATION OF THE ROTATION MATRIX R
grammetry of markers connected to bone are usually re-
AND THE TRANSLATIONAL VECTOR s
latively accurate as compared to electro-goniometry (Ker-
schot and Soudan, 1978). The movement of a rigid body from a position 1 into
Spatial co-ordinates of markers in or on bone can be another position 2 can be characterized by a translation
calculated from the co-ordinates of projections of these vector v and a rotation matrix R. This matrix is orthogonal
markers in two different directions on one or two planes. and therefore satisfies
These spatial co-ordinates are used to determine kinematical R’rR = I. (I)
parameters. The object in study is considered rigid and its
movement between two subsequent positions is taken to be a where I is the 3 L 3 unit matrix and the superscript T indicaltes
screw motion, Such a motion can be described by a rotation transposition.
matrix and a translation vector or by the position of the screw Let ai. a2,. .,a, denote the radius vectors of n (n 2 3) non-
axis, the angle of rotation about this axis and the translation collinear points Pi, P,, . ,, P, of the body in position 1. then
along this axis. the radius vectors qi,q,. .,q. of these points in position 2 are
Rodrigues (1840) needed the spatial co-ordinates of three given by
non-collinear points before and after the movement in order qi = Rai + v for i = 1.2.. .. n. (2)
to calculate the direction vector n of the helical axis and the
rotation angle 4. If ai, al, a, and pi, pZ, p3 are the radius R and v are unknown and must be determined from the
vectors of these points before and after the movement. the measured rad’ vectors p,,pz,. ..,p. of P,,Pz,. .,P, in
equations for n and 4 are (Selvik, 1974): position 2. In ral these vectors will differ from the exact
vectors qlrq2,. 9 ., “. An overall measure for this difference is
given by the function f of v and R, defined by :
*=ntant
1 ”
f(v, R) = ~ 1 (Ra, + v - pi)’ (Ra, + v - p,). (iI
n,=,
pi - p3 - a1 + a3 = Q*(pi - p3 + a1 - a,). Introducing average vectors a and p, a matrix M and a scalar
quantity f0 :
where * denotes cross product of vectors. The vector R can be
solved from the latter two vector equations if these equations
are not inconsistent. If they are, a least squares method is (4)
needed and the results may be slightly different from the
results according to Selvik (1974) or our method.
Kinzel er (II. (1972) used the co-ordinates of four non- M = 1 i: (pia:) - par (5)
n,,,
coplanar points in order to calculate the 4 * 4 matrices that
described both rotation and translation.
Chao (19783 calculated the rotation matrix R from two f0 = t ii1 (ara, + p(‘pJ - tara + p7p), (6)
vectors, pointing from one of three markers to the other two.
The extension of his method in case of more than three the expression for f(v, R) can be written as :
markers was not shown.
J(v,R) =fO + (Ra + Y - p)r(Ra + v- p) - 2 trace (M’R).
Selvik (1974) used a least squares method and minimized
(7)

i (pi - Ra, - v)‘. Here trace (MrR) is equal to the sum of the components on
,=1 the main diagonal of the 3 * 3 matrix M’R.
where n (n 2 3) is the number of markers and v is the The Lagrangian multiplier theorem is used to determine
translation vector. Variables were the three components of v the matrix R and the vector v that minimize .f under the
and the three Eulerian angles in which R was expressed. constraint condition (1). To use this theorem a 3 * 3 matrix S
Selvik needed an initial approximation for these variables. of Lagrangian multipliers and a function F of v. R and :i are
Our method comes close to Selvik’s method. The ex- introduced :
F(v,R, S) = f(v, R) + trace (S(RrR - I)). (8)
*Received 26 June 1979. The above mentioned theorem now states that, if F = F(v, R.

391
392 Technical Note

S) is stationary for some v, R and S then f=f(v,R) is non-coplanar markers are used. Ifall markers are lying in one
stationary and (1) is satisfied for that v and R. Stationary plane then Do3 = 0, whereas D,, = I),, = 0 if all markers are
points of F(v, R, S) are found by requiring the first variation collinear.
6F of F(v, R, S) to be zero for each variation 6v, 6R and 6S of v, With (19) and (21) the eigenvalue problem (14) can be
R and S: written in a form that is more suitable for further analysis:
6F = 2(Ra + v - p)r (SRa + 6v) VD2VT = V,D:V,’ + M,TE + E’M, + ETE. (22)
- 2 trace (MrGR) + trace (GS(R’R - I)) From this it is clear that V = V,, D = D, give a solution of (14)
+ trace(S(GRrR + RrJR)). (9) if E = 0. In practice, E will be unequal 0 but very small
compared with M,. Then V, and D, will be realistic
Requiring 6F = 0 for each SS results in the constraint
approximations for Vand D. Using (22) and (20) it is possible
condition (1). Next, 6F = 0 for each 6v gives an equation for
to establish bounds for the differences between Vand V, and
v:
between D and D, if bounds for the error vectors a,, a,, .,6,
v = p - Ra. (10) are given. This will not be analyzed here.
Finally, using (10) and trace (SGR’R) = trace(S’RrdR) the The rotation matrix R can be determined reliably from (16)
requirement 6F = 0 for each SR leads to the matrix equation if and only if at least two of the eigenvalues D,, 2 Dz2 > D,,
differ significantly from zero. From the foregoing it is seen
M = +R(S + ST). (11) that this will be the case if three or more non-collinear points
It is easy to solve equation (11) for the symmetric matrix are used. From (16) follows:
&S + Sr). With RVD= MV= [m, m2 mJ, (23)
S = i(S + ST), (12) where mi (i = 1,2,3) represents column i of Ml! As D is a
and with M = RS and equation (1) it follows: diagonal matrix mi is equal to column i of RK multiplied by
D,,. So, if D,, and D,, differ significantly from zero (and this
S2 = SrRrRS = MTM. (13) will always be true in realistic situations) column 1 and
MTM is a symmetric matrix with eigenvalues D:i 2 D& column 2 of RVare equal to (l/D,,).m, and (l/D,,)‘m,
2 0:s 2 0 and a corresponding set of three orthonormal respectively. The third column of RV follows from the
eigenvectors. The eigenvalues are arranged on the principal observation that RV is orthogonal. Therefore the third
diagonal of a diagonal matrix D2 while the eigenvectors are column of RV is equal to the cross product
considered as the columns of a 3*3 matrix V From the (l/Dii ‘D,,)m, *m2 of the first two columns. So, the final
definition of eigenvalues and eigenvectors it is seen that result for R is given by:
MTM = S2 = VDZVT. ) VP = I. (14)
km,
A solution for the symmetric matrix S is therefore given by 22
S = VDVr’, (15) For the calculations of R and v are sufficient: (4) and (5) to
determine M, a subroutine for the eigenvalues and eigenvec-
where the signs of the principal diagonal components D, ,,
tors of MTM, the calculation of the columns m,, m2 and m3 of
I>,, and D,, of D are up to now indeterminate. Insertion of
MVand finally (24) to determine R and (10) for v.
this solution into M = RS gives :
.
M = RVDVT.
The signs of D,,, Dzz and D,, follow
thatf(v, R) must be minimal. With (7), DETERMINATION OF THE HELICAL AXIS

f=fo - 2 trace(VDVr) =fO - 2(Dii + D,, + D,,), (17) In the foregoing the movement of the body was characte-
and in order to make f minimal D,,, D,, and D,, must be rized by the rotation matrix R and the translation vector v.
chosen non-negative. Such a movement can also be considered the result of a
To elucidate the geometrical significance of D, Ir Dzz and rotation through an angle 4 about the helical axis and a
D,, the measured vector pi (i = 1,2,. . ., n) is related to the translation r along this axis. Let n denote a unit vector along
exact vector qi = Rat + v by writing: the helical axis and let s be the radius vector of a point on this
axis, such that II and s are orthogonal:
p,=Ra,+v+h, fori=1,2 ,..., n. (18)
nTn = 1; n’s = 0. (25)
The error vector ai is due to measuring errors and to the fact
that the body is not perfectly rigid. Insertion of (18) in (4) and The sense of rotation and the direction of n will correspond
(5) leads to : with the right-hand screw rule and 4 will always be non-
negative and less than or equal rr rad.
M = R(M, + E), (19) The connection between both descriptions of the move-
where M, depends only on the radius vectors aI, a2,. .,a. ment of the body is given by the requirement that
before the movement while E depends on R, a1, a2,. .,a. and
6,, 62, . . ..a.: Rw+v=w+tn+(l-cosd~)n*(n*(w-s))
+ sin 4n * (w - s) (26)
M. = i ji ((ai - a)(% - a)? ;
must hold for every vector w. Consequently:
v=tn+(l-cos4)s-singh*s. (27)
E = kitI{RTbi(a,- a)‘}. (20j
Rw = cos dw + (1 - cos 4) nnTw + sin &I * w for every w,
(28)
M. is a symmetric, (semi) positive definite matrix. Therefore,
M. can be written as where the last equation is seen to be equivalent with :
M. = V,D,V;; V,V,‘= I, (21) $(R - RT)w = sin qh * w for every w (29)
where V, is the matrix of eigenvectors of M, and D, is a f(R + R’) = cos 4I + (1 - cos q%)nnT. (30)
diagonal matrix with the non-negative eigenvalues D,,
2 D,, z DOS 2 0 of Me It can easily be proved that all The matrix $(R - RT) is skew-symmetric and it can easily
eigenvalues are unequal zero if and only if more than three be shown that sin #n is given by :
Technical Note 393

1
R 32 - R,, REFERENCES
Chao, E. Y. and Morrey, B. F. (1978) Three-dimensional
sin&r = i R,, -R,, (31)
rotation of the elbow. J. Biomechanics 11, 57-73.
[ R1, - R,, Kerschot, M. and Soudan, K. (1978) Objective recording of
human gait. A quantitative evaluation of two techniques:
With n’n = 1 and sin(b 2 0 this equation can be solved for
elcctrogoniometry and interrupted light photography.
sin 4, which results in :
Meeting of the European Society of Biomechanics.
sin4 = :J(R,: -R,,)’ + (RI3 - R31j2+ (R2, - R,$-. Brussels.
(32) Kinzel, G. L., Hall, A. S. Jr. and Hillberry. B. M. (1972)
Measurement of the total motion between two body
Apart from this cos 4 can be calculated from (30) by adding
segments - I. Analytical development. J. Binmechanics 5,
up the components on the principal diagonal of the matrices.
93- 105.
Then :
Rodrigues, 0. (1840) Des lois giometriques qui rigissent les
?cos$ + (1 - cosC#I)
trace(nnr) = trace&R + R’)), deplacements d’un systeme solide dans I’espace, et de la
(33) variation des coordonnees provenant de ces deplacements
and because of trace (nnr) = n’n = 1 it follows: consider& indipendamment des causes qui peuvent les
produire. J. Math. pures appl. 5, 380-440.
cosd = i(R,, + R22 + R,, - 1). (34) Selvik, G. (1974) A roentgen stereophotogrammetric method
Both equations (32) and (34) can be used to calculate 4. For for the study of the kinematics of the skeletal system.
numerical reasons it is preferred to use (32) if sin #J 2 $ ,,/2 Thesis. Dept. of Anatomy, Univ. of Lund, Lund, Sweden,
and (34) if sin r#~> f J2.
As soon as sin 4 is known n can be determined from (31) if NOMENCLATURE
sin4 f 0. From a numerical point of view this is not a average of ai. al,. .,a,
recommendable if 4 approaches K. With known cos+ it is a, (i = 1,2,. .,n): radius vector of marker i before the
preferred to use (30) if 4 > :z. While: movement
(1 - cos4)nnr = $lR + R’) - cos@ = [b, b2 b3], hi column i of r(R + RT) - cos 41
(35) D diagonal matrix of square roots of eigenvalues of
MTM
it is seen that each of the columns b,, b, and 6s of the matrix
DO diagonal matrix of eigenvalues of M,
&(R + R7) - cos 41 is a vector in the same direction as n. So.
Dll,D,,,D,,: square roots of eigenvalues of MTM
apart from a factor, n is equal to b,, b, and bS. Let bi (i = 1,2
D,,, D,,. D,, : eigenvalues of M,
or 3) be the column with the greatest length ,/bT bp Then n is
error matrix, see (20)
determined by :
f” to be minimized sum of squares
F likel; but with Lagrangian multipliers
b[bi = max(b:b,, bib:. bib,); n = + __-bi. (36) I unit matrix of order 3 * 3
Jb: b;
M matrix of order 3 * 3, see (5)
The sign of n must be chosen such that sin 4 in (31) is positive. M0 matrix of order 3 * 3, see (20)
The translation t along the helical axis and the radius ml column i of M V
vector s of a point on this axis follow from (25) and (27): n number of markers
t = n’v (37) n unit vector along helical axis
sin 4 P average of Pi, p2,. ., p.
s = - in * (n * v) + n * v. (38) pi (i = 1.2,. ., n) : measured radius vector of marker i after the
2(1 - cos.4) movement
The relations (36), (37) and (38) hold if 4 # 0. If 4 = 0 there qt (i = 1,2,. .,n): exact radius vector of marker i after the
is no rotation at all. In that case the helical axis is not defined movement
and therefore n, s and 1are not unique. If+ = Oand v # 0 then R rotation matrix
one can put : S radius vector of a point on the helical axis
s matrix of Lagrangian multipliers
1 s symmetric part of S
t=JyTy; n=-v; s=O. (39)
t t translation along helical axis
v translation vector
If (p = 0 and v = 0 there is no movement at all. This case is of V orthogonal matrix of eigenvectors of MTM
no interest, matrix of eigenvectors of M,
v, orthogonal
Sufficient for the computation of n, 4, s and r are (32) and w arbitrary vector
(34) for 4, (31) and (35) until (38) for n, t and sif 4 # 0 and (39) angle of rotation about the helical axis, 0 2 4 2 n
9
if f$ = 0.
Si (i = 1,2,. .,n): error vector, equal to pi - qi

DISCU!SSlON
Superscript T denotes transposition

Accurate results are quickly achieved by the described


method. Although alternative methods exist, the described
Department of Anatomy and Embryology, c. w. SPOUR
University of Leiden, Leiden, The Netherlands
method seems more elegant and needs no initial approxi-
mation The analysis is rather long but only few of its Department of Mechanical Engineering F. E. VELCWAIJS
equations are required to achieve numerical results.
Eindhoven University of Technology.
Eindhoven, The Netherlands

You might also like