- ScienceDirect

TECHNICAL
NOTE
RIGID BODY MOTION CALCULATED
FROM SPATIAL
CO-ORDINATES OF MARKERS*
INTRODUCTION
pression to be minimized is the same but the solution process
is different. Three or more non-collinear
points are used and
no initial approximation
is needed.
Several methods have been developed for the kinematical
analysis of bone movements in cadaveric specimens or living
subjects (Rodrigues,
1840; Kinzel et al., 1972; Selvik, 1974;
Chao, 1978). Methods
based on X-ray or light photogrammetry
of markers connected
to bone are usually relatively accurate as compared
to electro-goniometry
(Kerschot and Soudan, 1978).
Spatial co-ordinates
of markers in or on bone can be
calculated
from the co-ordinates
of projections
of these
markers in two different directions on one or two planes.
These spatial co-ordinates
are used to determine kinematical
parameters.
The object in study is considered rigid and its
movement between two subsequent positions is taken to be a
screw motion, Such a motion can be described by a rotation
matrix and a translation vector or by the position of the screw
axis, the angle of rotation about this axis and the translation
along this axis.
Rodrigues (1840) needed the spatial co-ordinates
of three
non-collinear
points before and after the movement in order
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
vectors of these points before and after the movement. the
equations for n and 4 are (Selvik, 1974):
DETERMINATION
AND
THE
OF THE
ROTATION
TRANSLATIONAL
MATRIX
VECTOR
R
s
The movement of a rigid body from a position 1 into
another position 2 can be characterized
by a translation
vector v and a rotation matrix R. This matrix is orthogonal
and therefore satisfies
R’rR = I.
(I)
where I is the 3 L 3 unit matrix and the superscript T indicaltes
transposition.
Let ai. a2,. .,a, denote the radius vectors of n (n 2 3) noncollinear points Pi, P,, . ,, P, of the body in position 1. then
the radius vectors qi,q,.
.,q. of these points in position 2 are
given by
qi = Rai + v
for i = 1.2..
.. n.
(2)
R and v are unknown
and must be determined
from the
measured
rad’
vectors p,,pz,. ..,p. of P,,Pz,.
.,P, in
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
f(v,
1 ”
R) = ~ 1 (Ra, + v - pi)’ (Ra, + v - p,).
n,=,
Introducing
average
quantity f0 :
pi - p3 - a1 + a3 = Q*(pi - p3 + a1 - a,).
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
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 noncoplanar points in order to calculate the 4 * 4 matrices that
described both rotation and translation.
Chao (19783 calculated
the rotation matrix R from two
vectors, pointing from one of three markers to the other two.
The extension of his method in case of more than three
markers was not shown.
Selvik (1974) used a least squares method and minimized
(iI
vectors a and p, a matrix M and a scalar
(4)
M = 1 i:
n,,,
(pia:) - par
(5)
f0 = t ii1 (ara, + p(‘pJ - tara + p7p),
the expression
J(v,R)
for f(v, R) can be written
=fO + (Ra + Y - p)r(Ra
+ v-
(6)
as :
p) - 2 trace (M’R).
(7)
i (pi - Ra, - v)‘.
,=1
where n (n 2 3) is the number of markers and v is the
translation
vector. Variables were the three components
of v
and the three Eulerian angles in which R was expressed.
Selvik needed an initial approximation
for these variables.
Our method comes close to Selvik’s method. The ex-
Here trace (MrR) is equal to the sum of the components
on
the main diagonal of the 3 * 3 matrix M’R.
The Lagrangian
multiplier theorem is used to determine
the matrix R and the vector v that minimize .f under the
constraint condition (1). To use this theorem a 3 * 3 matrix S
of Lagrangian
multipliers and a function F of v. R and :i are
introduced :
F(v,R, S) = f(v, R) + trace (S(RrR - I)).
The above mentioned
*Received 26 June 1979.
391
theorem
now states that, if F = F(v,
(8)
R.
Technical
392
S) is stationary
for some v, R and S then f=f(v,R)
is
stationary
and (1) is satisfied for that v and R. Stationary
points of F(v, R, S) are found by requiring the first variation
6F of F(v, R, S) to be zero for each variation 6v, 6R and 6S of v,
R and S:
- 2 trace (MrGR) + trace (GS(R’R - I))
+ trace(S(GRrR
+ RrJR)).
(9)
6F = 0 for each SS results in the constraint
(1). Next, 6F = 0 for each 6v gives an equation for
v = p - Ra.
(10)
Finally, using (10) and trace (SGR’R) = trace(S’RrdR)
the
requirement 6F = 0 for each SR leads to the matrix equation
M = +R(S + ST).
It is easy to solve equation
&S + Sr). With
(11)
(11) for the symmetric
matrix
and with M = RS and equation
(12)
(1) it follows:
S2 = SrRrRS
= MTM.
(13)
MTM is a symmetric
matrix with eigenvalues
D:i 2 D&
2 0:s 2 0 and a corresponding
set of three orthonormal
eigenvectors.
The eigenvalues are arranged on the principal
diagonal of a diagonal matrix D2 while the eigenvectors are
considered
as the columns of a 3*3 matrix V From the
definition of eigenvalues and eigenvectors it is seen that
MTM = S2 = VDZVT. )
for the symmetric
matrix
VP = I.
S is therefore
(14)
given by
S = VDVr’,
(15)
where the signs of the principal diagonal components
D, ,,
I>,, and D,, of D are up to now indeterminate.
Insertion of
this solution into M = RS gives :
The signs of D,,, Dzz and D,, follow
thatf(v, R) must be minimal. With (7),
- 2 trace(VDVr)
(17)
and in order to make f minimal D,,, D,, and D,, must be
chosen non-negative.
To elucidate the geometrical
significance of D, Ir Dzz and
D,, the measured vector pi (i = 1,2,. . ., n) is related to the
exact vector qi = Rat + v by writing:
fori=1,2
,..., n.
(18)
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
(5) leads to :
M = R(M,
MV=
[m,
m2
mJ,
(23)
where mi (i = 1,2,3) represents column i of Ml! As D is a
diagonal matrix mi is equal to column i of RK multiplied by
D,,. So, if D,, and D,, differ significantly from zero (and this
will always be true in realistic situations)
column 1 and
column 2 of RVare equal to (l/D,,).m,
and (l/D,,)‘m,
respectively.
The third column of RV follows from the
observation
that RV is orthogonal.
Therefore
the third
column
of RV
is equal
to
the
cross
product
(l/Dii ‘D,,)m,
*m2 of the first two columns. So, the final
result for R is given by:
km,
22
For the calculations
of R and v are sufficient: (4) and (5) to
determine M, a subroutine for the eigenvalues and eigenvectors of MTM, the calculation of the columns m,, m2 and m3 of
MVand finally (24) to determine R and (10) for v.
DETERMINATION
=fO - 2(Dii + D,, + D,,),
p,=Ra,+v+h,
(22)
.
M = RVDVT.
f=fo
+ ETE.
From this it is clear that V = V,, D = D, give a solution of (14)
if E = 0. In practice, E will be unequal 0 but very small
compared
with M,. Then V, and D, will be realistic
approximations
for Vand D. Using (22) and (20) it is possible
to establish bounds for the differences between Vand V, and
between D and D, if bounds for the error vectors a,, a,,
.,6,
are given. This will not be analyzed here.
The rotation matrix R can be determined reliably from (16)
if and only if at least two of the eigenvalues D,, 2 Dz2 > D,,
differ significantly from zero. From the foregoing it is seen
that this will be the case if three or more non-collinear
points
are used. From (16) follows:
RVD=
S = i(S + ST),
A solution
non-coplanar
markers are used. Ifall markers are lying in one
plane then Do3 = 0, whereas D,, = I),, = 0 if all markers are
collinear.
With (19) and (21) the eigenvalue problem (14) can be
written in a form that is more suitable for further analysis:
VD2VT = V,D:V,’ + M,TE + E’M,
6F = 2(Ra + v - p)r (SRa + 6v)
Requiring
condition
v:
Note
+ E),
(19)
where M, depends only on the radius vectors aI, a2,. .,a.
before the movement while E depends on R, a1, a2,. .,a. and
6,, 62, . . ..a.:
OF THE HELICAL AXIS
In the foregoing the movement of the body was characterized by the rotation matrix R and the translation
vector v.
Such a movement can also be considered
the result of a
rotation through an angle 4 about the helical axis and a
translation
r along this axis. Let n denote a unit vector along
the helical axis and let s be the radius vector of a point on this
axis, such that II and s are orthogonal:
nTn = 1;
n’s = 0.
(25)
The sense of rotation and the direction of n will correspond
with the right-hand
screw rule and 4 will always be nonnegative and less than or equal rr rad.
The connection
between both descriptions
of the movement of the body is given by the requirement
that
Rw+v=w+tn+(l-cosd~)n*(n*(w-s))
+ sin 4n * (w - s)
M. = i ji
;
((ai - a)(% - a)?
E =
must hold for every vector w. Consequently:
kitI{RTbi(a,- a)‘}.
(20j
M. is a symmetric, (semi) positive definite matrix. Therefore,
M. can be written as
M. = V,D,V;;
(26)
V,V,‘=
I,
(21)
where V, is the matrix of eigenvectors
of M, and D, is a
diagonal
matrix with the non-negative
eigenvalues
D,,
2 D,, z DOS 2 0 of Me It can easily be proved that all
eigenvalues are unequal zero if and only if more than three
v=tn+(l-cos4)s-singh*s.
(27)
Rw = cos dw + (1 - cos 4) nnTw + sin &I * w
where the last equation
for every w,
(28)
is seen to be equivalent
$(R - RT)w = sin qh * w
with
for every w
f(R + R’) = cos 4I + (1 - cos q%)nnT.
The matrix $(R - RT) is skew-symmetric
be shown that sin #n is given by :
:
(29)
(30)
and it can easily
Technical
R 32 - R,,
sin&r
= i
R,, -R,,
[ R1, - R,,
With n’n = 1 and sin(b 2 0 this equation
sin 4, which results in :
sin4 =
:J(R,: -R,,)’
1
REFERENCES
(31)
can be solved for
+ (RI3 - R31j2+ (R2, - R,$-.
(32)
Apart from this cos 4 can be calculated from (30) by adding
up the components
on the principal diagonal of the matrices.
Then :
?cos$ + (1 - cosC#I)
trace(nnr)
= trace&R
+ R’)),
(33)
and because
of trace (nnr) = n’n = 1 it follows:
cosd
= i(R,,
+ R22 + R,, - 1).
(34)
Both equations (32) and (34) can be used to calculate 4. For
numerical reasons it is preferred to use (32) if sin #J 2 $ ,,/2
and (34) if sin r#~> f J2.
As soon as sin 4 is known n can be determined from (31) if
sin4 f 0. From a numerical
point of view this is not
recommendable
if 4 approaches
K. With known cos+ it is
preferred to use (30) if 4 > :z. While:
(1 - cos4)nnr
= $lR + R’) - cos@
= [b,
b2
b3],
(35)
it is seen that each of the columns b,, b, and 6s of the matrix
&(R + R7) - cos 41 is a vector in the same direction as n. So.
apart from a factor, n is equal to b,, b, and bS. Let bi (i = 1,2
or 3) be the column with the greatest length ,/bT bp Then n is
determined by :
b[bi = max(b:b,,
bib:. bib,);
n = + __-bi.
Jb: b;
(36)
The sign of n must be chosen such that sin 4 in (31) is positive.
The translation
t along the helical axis and the radius
vector s of a point on this axis follow from (25) and (27):
t = n’v
(37)
sin 4
s = - in * (n * v) +
n * v.
2(1 - cos.4)
(38)
The relations (36), (37) and (38) hold if 4 # 0. If 4 = 0 there
is no rotation at all. In that case the helical axis is not defined
and therefore n, s and 1are not unique. If+ = Oand v # 0 then
one can put :
t=JyTy;
1
n=-v;
t
s=O.
393
Note
(39)
If (p = 0 and v = 0 there is no movement at all. This case is of
no interest,
Sufficient for the computation
of n, 4, s and r are (32) and
(34) for 4, (31) and (35) until (38) for n, t and sif 4 # 0 and (39)
if f$ = 0.
DISCU!SSlON
Accurate results are quickly achieved by the described
method. Although alternative
methods exist, the described
method seems more elegant and needs no initial approximation
The analysis is rather long but only few of its
equations are required to achieve numerical results.
Chao, E. Y. and Morrey, B. F. (1978) Three-dimensional
rotation of the elbow. J. Biomechanics 11, 57-73.
Kerschot, M. and Soudan, K. (1978) Objective recording of
human gait. A quantitative
evaluation of two techniques:
elcctrogoniometry
and interrupted
light photography.
Meeting
of the European
Society
of Biomechanics.
Brussels.
Kinzel, G. L., Hall, A. S. Jr. and Hillberry.
B. M. (1972)
Measurement
of the total motion between two body
segments - I. Analytical development. J. Binmechanics 5,
93- 105.
Rodrigues, 0. (1840) Des lois giometriques
qui rigissent les
deplacements
d’un systeme solide dans I’espace, et de la
variation des coordonnees
provenant de ces deplacements
consider& indipendamment
des causes qui peuvent les
produire. J. Math. pures appl. 5, 380-440.
Selvik, G. (1974) A roentgen stereophotogrammetric
method
for the study of the kinematics
of the skeletal system.
Thesis. Dept. of Anatomy, Univ. of Lund, Lund, Sweden,
NOMENCLATURE
a
average of ai. al,.
a, (i = 1,2,. .,n): radius
.,a,
vector of marker
i before
movement
column i of r(R + RT) - cos 41
hi
D
diagonal
matrix of square roots of eigenvalues
MTM
diagonal matrix of eigenvalues of M,
DO
Dll,D,,,D,,:
square roots of eigenvalues of MTM
D,,, D,,. D,, : eigenvalues of M,
error matrix, see (20)
to be minimized sum of squares
f”
F
likel; but with Lagrangian
multipliers
I
unit matrix of order 3 * 3
M
matrix of order 3 * 3, see (5)
matrix of order 3 * 3, see (20)
M0
column i of M V
ml
n
number of markers
n
unit vector along helical axis
average of Pi, p2,. ., p.
P
pi (i = 1.2,. ., n) : measured radius vector of marker i after
movement
qt (i = 1,2,. .,n): exact radius vector of marker i after
movement
R
rotation matrix
S
radius vector of a point on the helical axis
s
matrix of Lagrangian
multipliers
s
symmetric part of S
t
translation
along helical axis
v
translation
vector
V
orthogonal
matrix of eigenvectors of MTM
orthogonal
matrix of eigenvectors of M,
v,
w
arbitrary
vector
angle of rotation about the helical axis, 0 2 4 2
9
Si (i = 1,2,. .,n): error vector, equal to pi - qi
Superscript
T denotes
the
of
the
the
n
transposition
Department of Anatomy and Embryology,
University of Leiden, Leiden, The Netherlands
Department of Mechanical Engineering
Eindhoven University of Technology.
Eindhoven, The Netherlands
c. w. SPOUR
F. E. VELCWAIJS