ARTICLE IN PRESS
Journal of Biomechanics 41 (2008) 1790–1800 www.elsevier.com/locate/jbiomech www.JBiomech.com
Anticrossproducts and cross divisions Paolo de Leva Department of Human Movement and Sport Sciences, University Institute of Movement Sciences, P. Lauro De Bosis, 6 Rome 00194, Italy Accepted 20 September 2007
Abstract This paper defines, in the context of conventional vector algebra, the concept of anticrossproduct and a family of simple operations called cross or vector divisions. It is impossible to solve for a or b the equation a b ¼ c, where a and b are three-dimensional space vectors, and a b is their cross product. However, the problem becomes solvable if some ‘‘knowledge about the unknown’’ (a or b) is available, consisting of one of its components, or the angle it forms with the other operand of the cross product. Independently of the selected reference frame orientation, the known component of a may be parallel to b, or vice versa. The cross divisions provide a compact and insightful symbolic representation of a family of algorithms specifically designed to solve problems of such kind. A generalized algorithm was also defined, incorporating the rules for selecting the appropriate kind of cross division, based on the type of input data. Four examples of practical application were provided, including the computation of the point of application of a force and the angular velocity of a rigid body. The definition and geometrical interpretation of the cross divisions stemmed from the concept of anticrossproduct. The ‘‘anticrossproducts of a b’’ were defined as the infinitely many vectors xi such that xi b ¼ a b. r 2007 Elsevier Ltd. All rights reserved. Keywords: Cross product; Vector algebra; Center of pressure; Angular velocity; Pseudo-inverse
1. Introduction Conventional vector algebra (CVA), as defined in the late 19th century by Josiah Willard Gibbs and Oliver Heaviside (Gibbs, 1881–1884), has invaluable applications in both basic and advanced physics. However, a missing tessera can be identified in the relevant set of vectorial operations. This set includes addition, subtraction, three kinds of multiplication (scalar by vector, dot product, cross product), and no division. This paper defines, in this context, a family of simple operations called cross or vector divisions. The idea of cross division (CD) and its geometrical interpretation stemmed from the concept of anticrossproduct, which will be presented in a special section of the paper. It can be shown that it is impossible to solve for a or b the equation a b ¼ c,
(1)
where a and b are vectors in the three-dimensional Euclidean space ðR3 Þ, and a b is their cross product Tel.: +39 6 367 33 522; fax: +39 6 367 33 517, +39 6 336 10 218.
E-mail address:
[email protected] 0021-9290/$ - see front matter r 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.jbiomech.2007.09.030
(CP). However, it is possible to solve it for two components of a or b (problems of class 1). Moreover, when the component of a along an axis u aligned with b is known (or vice versa), or when the angle W between a and b is known, it becomes possible to determine the three components of a or b (problems of classes 2 and 3). For instance, if W is known, a or b can be computed by solving an equation system such as ( ab¼c (2) jcj ¼ a b tanðWÞ: In all three cases, the unknown is one of the operands of the CP (either a or b), but some ‘‘knowledge about the unknown’’ is available, consisting of one of its components, or the angle it forms with the other operand. Notice that, for problems of class 2, the known u component typically coincides with none of the three unknown components. The CDs represent the solution to such problems. As well as any other CVA operation, they were mainly meant to simplify the computation of physical quantities. For instance, if F is a force, r its point of application (‘‘center of
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
1791
pressure’’), and M ¼ r F its moment, two different kinds of CD can be used to compute:
4. The angular velocity of a rigid body, based on linear kinematic data.
1. Two components of r, based on dynamometric data (Fig. 1). 2. The x, y, and z components of F, based on its moment, its point of application, and its component along an axis zL aligned with r (Fig. 2).
The above-listed practical applications will be briefly discussed later. Notice that some problems of the first class can be solved using very simple scalar equations derived from Eq. (1). For instance, problem 1 (Fig. 1) is typically solved as follows: ( rx ¼ ðrz F x M y Þ=F z (3) ry ¼ ðrz F y þ M x Þ=F z :
The solution to the latter problem led to the design of a low cost device for calibrating force plates in situ (de Leva, 2007). A third kind of CD can be used to determine: 3. The angular velocity x of a vector r, as a function of r and its time derivative v, knowing that x must be orthogonal to r (W ¼ 901, by definition; Fig. 3).
Fig. 1. A load system applied on a force plate can be represented by a force F and a couple C. The unknown position of P, the point of application of F, is represented by r. M is the moment of F with respect to O. The vertical component of r (rz) is typically specified by the force plate producer. The force plate measures F and the net moment SM, from which at least two components of M can be typically computed (see text).
In general, however, the scalar equation systems representing the solution to the problems of the abovementioned classes are more complex, and in some cases cumbersome, compared to Eq. set (3). The purpose of this study was to simplify the task of writing and computing the solution to these problems (see section on ‘‘Applications’’). To accomplish this purpose, a set of simple algorithms based on a common logical kernel was designed, and an intuitive infix notation to represent each algorithm as a vectorial operation was defined. These operations were called definite cross divisions (DCDs). Finally, a generalized DCD algorithm was developed, incorporating the rules for selecting the DCD best suited to the available input data. As well as a cross product, each DCD provides a compact symbolic representation of a relatively complex algorithm, usable both in the text of scientific reports and in the source code of computer programs. For instance, the algorithm for computing x (Fig. 3) is symbolized by , and a single instruction such as crossdiv(n, r) can be used to represent and automatically execute it in a computer program. The definition of each kind of DCD was based on that of another operation, called indefinite cross division (ICD). As well as the study of indefinite integration requires and promotes a sound understanding of the concept of
Fig. 2. A steel bar is free to rotate about P1. By exerting a force F on its upper tip (P2) you keep it in static equilibrium. W is the known weight of the bar. The directed distances rF and rW are estimated based on photogrammetric data. The longitudinal component of F ( ) is measured with a monoaxial load cell. W, rF and rW are resolved with respect to an arbitrary reference frame G(x, y, z), not necessarily aligned with L(xL, yL, zL).
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
1792
‘‘multiplication by b’’ is invertible (Table 1). Similar considerations are valid for other mathematical operations. 2.1. Quasi-inverse operations For some operations, referred to as non-invertible (NIO), a perfect inverse does not exist. For instance, a square (a2 ¼ b) is non-invertible, because it is an information-losing (non-injective) operation; namely, the sign of its input (a) cannot be deduced from its output (b). However, there are well-known examples of ‘‘quasiinverses’’ of information-losing NIOs (Table 1). They are imperfect inverses because their result is nonunique, but may be regarded as quasi-perfect because the set of their possible results S contains x, the NIO operand, and is a restricted subset of X, the NIO domain. For instance, the quasi-inverse of a square (square root) yields two possible solutions: pffiffiffiffiffi Qða2 Þ ¼ a2 ¼ a. (7)
differentiation, the study of the ICD may help readers to deepen or conveniently structure their knowledge about the CP and its geometric interpretation.
This means that, to fully ‘‘reverse’’ a square a2, we need to know not only its result, but also the sign of its operand a. Similarly, an indefinite integration is the quasi-inverse of a differentiation and yields infinitely many but well characterized possible solutions (the ‘‘antiderivatives’’). To fully ‘‘reverse’’ a differentiation, we need to know not only its result A0 , but also the constant term of its operand A (the ‘‘integration constant’’). Notwithstanding these limitations, the quasi-inverse operations are undeniably useful tools.
2. Quasi-inverse and pseudo-inverse operations
2.2. Additional input and pseudo-inverse operations
The logic approach and terminology briefly introduced with the following elementary examples will prove to be useful later. Let us first consider the relationship between arithmetic multiplication and division. Although a b ¼ c and c/b ¼ a (ba0) are binary operations (with two operands), they can be rewritten as unary operations (with one operand): the ‘‘multiplication by b’’ (Ob), and the ‘‘division by b’’ ( O1 b ), in which the known value of b is regarded as a parameter rather than an operand. With ba0,
By definition, the operand of inverse and quasi-inverse operations is just the result of the respective ‘‘forward’’ operations F (Table 1). However, the above-mentioned two examples led us to the conclusion that, if we want to reverse an information-losing NIO, its result alone is not sufficient, and some additional input is required, consisting of some information about its operand. An operation implicitly or explicitly exploiting this kind of additional input to apparently reverse a NIO may be referred to as a ‘‘pseudo-inverse’’ operation: an imperfect inverse that appears perfect due to its unique result (Table 1). For instance, a square root with fixed positive sign (principal square root) is a pseudo-inverse of a square, and an integration with known integration constant is a pseudo-inverse of a differentiation.
Fig. 3. Point B moves with a linear velocity v relative to point A. Thus, v is the time derivative of r. The motion of B with respect to A is unconstrained (non-circular, non-planar, and non-spherical). vorth and vpar are the components of v orthogonal and parallel to r. x represents the angular velocity of r, defined as the time derivative of the angle swept by r.
Ob ðaÞ ¼ a b ¼ c,
(4)
O1 b ðcÞ ¼ c=b ¼ a,
(5)
which imply that O1 b ðOb ðaÞÞ ¼ a,
Ob O1 b ðcÞ
(6a) 3. The indefinite cross division
¼ c.
(6b)
Thus, when ba0 the ‘‘division by b’’ complies with the definition of inverse operation or function, and the
A CP (also known as vector product, or vector cross product, or Gibbs vector product, or skew product) of two vectors a ¼ [ax ay az]T and b ¼ [bx by bz]T in R3 can be
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
1793
Table 1 Schematic definition of inverse, quasi-inverse and pseudo-inverse operations or functions Kind of operation
Definition
Note
Inverse of F ðF 1 : Y ! X Þ
1. F 1 ðF ðxÞÞ ¼ x (F1 reverses F), and 2. F ðF 1 ðyÞÞ ¼ y (F reverses F1).
F is invertible (i.e. bijective). F1 is single-valued
Quasi-inverse of F (Q : R ! X , R Y )
1. QðF ðxÞÞ ¼any element of S. 2. 8y 2 R; F ðQðyÞÞ ¼ y.
F is non-invertible. Q incompletely reverses it, because S contains x and is a proper subset of X (i.e. x 2 S X ). Q is multiple-valued
Pseudo-inverse of F (P : R E ! X , R Y )
1. PðF ðx1 Þ; extraÞ ¼ x2 , where x2 ¼ x1 for a specific value of extra. 2. 8y 2 R; F ðPðy; extraÞÞ ¼ y.
F is non-invertible, but P apparently reverses it. A quasi inverse of F exists; P uses additional information (extra A E) to uniquely select an element of S (x2AS). P is single-valued, but x2 ¼ x1 is not guaranteed.
x, y ¼ any element of X and Y, respectively (unless otherwise specified). X, Y, R ¼ domain, codomain, and range of function F ðF : X ! Y Þ. S ¼ the set of possible solutions returned by a quasi-inverse function Q; it contains x ðx 2 SÞ, and it is a proper and restricted subset of X (S X , and the measure of S is negligible in X); even though it is a restricted subset of X, S may be an infinite set. extra ¼ either an additional argument, or a fixed parameter specified in the definition of P (see definition of principal square root and OCD); its value can either convey information about x1, or be arbitrarily selected (hence x2 ¼ x1 is not guaranteed). E ¼ the set containing extra.
defined as 2
3 ay bz az by 6 7 a b ¼ 4 az bx ax bz 5 .
(8)
ax by ay bx
Thus, Eq. (1) (a b ¼ c, where c ¼ [cx cy cz]T) can be represented as a system of scalar equations: 8 a b az by ¼ c x > < y z az bx ax bz ¼ c y (9) > :a b a b ¼ c : x y y x z This system has infinitely many solutions either for a or b. When the components of a or b are unknown, it becomes indeterminate. If we represent the ‘‘CP by b’’ as a unary operation (CPb), Eq. (1) becomes CPb ðaÞ ¼ c.
(10) 3.1. Anticrossproducts of a b
If it existed, a perfect inverse of CPb would be an operation CP1 b such that CP1 b ðcÞ ¼ a:
(11)
Unfortunately, since Eq. system (9) is indeterminate with respect to a, CPb is an information-losing NIO and CP1 b does not exist. However, a quasi-inverse of CPb exists, and can be called the ‘‘ICD by b’’: ICDb ðcÞ ¼ any element of X,
Fig. 4. There are infinitely many vectors xi meeting the condition xi b ¼ c. If one of them is a, they can be called the ‘‘anticrossproducts of a b’’. Their tips lie on the ‘‘anticrossproduct axis’’, codirectional with b and passing through the tip of a. Each xi shares with the others its components , orthogonal to b ð aorth Þ.
(12)
where X includes a and, since it has null volume (Lebesgue measure), it is a markedly restricted proper subset of R3 (a 2 X R3 ; l(X) ¼ 0), as explained below.
The concept of ‘‘anticrossproduct’’, or ‘‘vector antiproduct’’, represents the logical foundation for the definition of the ICD. As shown in Fig. 4, the ‘‘anticrossproducts of a b’’ are defined as the vectors xi which, substituted for the first operand (a) of the specified CP1, leave its result unchanged. If a b ¼ c, they all meet the condition xi b ¼ c. 1 Any set of anticrossproducts is specific for a limited set of CPs, with a given result (c) and second operand (b). Therefore, the expression ‘‘anticrossproduct of c’’ is ambiguous and should not be used. The expression ‘‘anticrossproduct of c with respect to b’’ is correct, provided that b is the second operand of the CP.
ARTICLE IN PRESS 1794
P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
There are infinitely many vectors xi, forming an infinite set X. Obviously, one of them coincides with a (i.e. aAX). All of them lie on the plane defined by a and b, and their tips lie on the ‘‘anticrossproduct axis’’, a directed axis codirectional with b and passing through the tip of a. Each xi can be resolved into two components: , orthogonal to b, and , parallel to b. Thus,
many vectors yi meeting the condition a yi ¼ c (where c ¼ a b) cannot be called ‘‘anticrossproducts of a b’’. However, they may be called ‘‘anticrossproducts of b a’’, where b is the first operand of the CP and b a ¼ c, by the anticommutative property of the CP. 3.3. Definition of the ICD
(13a) Similarly (Fig. 4), a ¼ aorth þ apar .
(13b)
It is essential to observe that all the anticrossproducts share with each other a unique orthogonal component: (14) and differ from each other only by
: (13c)
Notice also that aorth is one of the infinitely many anticrossproducts: the ‘‘orthogonal’’ one (Fig. 4). 3.2. Anticrossproducts of b a By definition, the anticrossproducts of a CP include its first operand, and not the second. Hence, the infinitely
As well as an indefinite integration identifies an infinite set of antiderivatives, an ICD identifies an infinite set of anticrossproducts. The definition of the ICD is provided in Fig. 5. The relevant analytical proof and algebraic properties are presented in Appendices A and B. An ICD, as well as an arithmetic division, is a binary operation (its operands are c and b), not valid when its divisor is null. As well as the CP, it is closed in R3 (CP: R3 R3 ! R3 ; ICD: R3 R3 \0 ! R3 ). Notice that, although is nonunique, it can be partially determined. Being it parallel to b, it is ^ where s is an unknown scaling factor, called equal to s b, ‘‘CD coefficient’’, and b^ ¼ b=jbj is just the versor of b. Thus, the only nonuniquely determined (or undetermined) value in the definition of the ICD is s. Luckily, in some cases s can be determined otherwise (see definition of
Fig. 5. Definition of the ICD. While the orthogonal term and b^ are fully determined, the ‘‘cross division coefficient’’ s in the parallel term is nonuniquely determined. This scaling factor has the same role as the integration constant in the definition of an indefinite integral. The quotient is arbitrarily selected from among the infinitely many anticrossproducts of a b. Notice that the divisor must be the second operand (b) of a CP (a b).
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
DCDs). In the definition of an ICD, s has the same role as the arbitrary integration constant in an indefinite integral. We conclude that an ‘‘ICD by b’’ is not a complete inverse of a ‘‘CP by b’’ because some information about apar is missing. 3.4. Limitations of ICDs (a) As well as an indefinite integral, the ICD yields infinitely many possible solutions. Hence, even if one of them can be arbitrarily selected, the ICD is multiple-valued, and its result is nonuniquely determined. (b) By definition, in an ICD ( ) the divisor (b) must be the second operand of a CP (a b ¼ c). When the first operand (a) of the CP, rather than the second, is used as divisor, the ICD does not identify the expected set of anticrossproducts (Y, with bAY). It characterizes the opposite and disjoint set Y: ¼ any element of Y;
4. The definite cross divisions The DCDs are derived from the ICDs, by assigning a unique value to the CD coefficient s. By exploiting this additional information, a DCD selects a unique anticrossproduct from among the infinitely many possible ones determined by an ICD. The DCDs are analogous to indefinite integrals with known integration constant. The word definite is used herein as a synonym of determinate. Four categories of DCD were defined (Table 2). While an ICD is a binary operation, most DCDs can be described as ternary operations, namely functions with three arguments: two vectors (c and b) and a scalar. The latter is typically sa, the value for s which uniquely identifies a, or a variable allowing its computation (e.g., the angle W). The only binary DCD is the orthogonal CD, for which the third argument is not required because it is provided in its definition as a fixed parameter (s ¼ 0 or sa ¼ 0). A ‘‘DCD by b’’ may be regarded as a pseudo-inverse of a ‘‘CP by b’’ (Eq. (10)). For instance, if the additional input is represented by sa, DCDb ðc; sa Þ ¼ a:
b e Y; (15) where a is the second operand of b a, and b a ¼ c. However, when needed, Y can be obtained as follows:
1795
(17)
b 2 Y;
¼ any element of Y; b 2 Y;
(16)
where a is the second operand of b a, and b a ¼ c. Thus, although an ‘‘ICD by a’’ does not yield the expected result, there is no need to define a different operation ‘‘ICD2’’ for obtaining that result. In fact, an ‘‘ICD2 by a’’ would be equivalent to the additive opposite of an ‘‘ICD by a’’.
4.1. The orthogonal cross division The orthogonal cross division (OCD), defined in Fig. 6, is the simplest and perhaps most useful form of DCD, designed to yield the value of the orthogonal anticrossproduct aorth. It is determined from an ICD by setting s ¼ 0 (i.e., j j ¼ 0), and coincides with the known and unique orthogonal term of an ICD: (18) Of course, a may coincide with the orthogonal anticrossproduct aorth. In this case, sa ¼ 0 and
Table 2 Examples of notation for the different kinds of definite cross division (DCD) Kind of DCD
Examples Description
Infix notation
Prefix notation
Basic DCD
Coefficient-input (sa known)
CD(c, b, sa)
Orthogonal CD (OCD)
s ¼ 0 (Provided as parameter)
OCD(c, b)
Computed-coefficient CD
Angle-input (W known)
CD(c, b, W)
Component-input (ax known)
CD(c, b, ax)
Minimum-input DCD
s ¼ 0 (OCD) and cx unknown
OCD([cy , cz] , b)
W known and cx unknown
CD([cy , cz] , b, W)
ax known and cx unknown
CD([cy , cz] , b, ax)
All the DCDs are ternary operations, except for the orthogonal CDs, which are binary. CD ¼ cross division. sa ¼ The value for s which uniquely identifies a.
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
1796
Thus, sa can be obtained in four different ways (Appendix C): sa ðWÞ ¼ jaorth j= tanðWÞ,
Fig. 6. Definition of the OCD, the simplest kind of DCD (see also ‘‘Nomenclature’’ in Fig. 5). The OCD identifies the orthogonal anticrossproduct of a b, and coincides with the orthogonal term of the ICD. Notice that the divisor must be the second operand (b) of a CP (a b).
sa ðax Þ ¼
ax aorthx jbj, bx
(22b)
sa ðay Þ ¼
ay aorthy jbj, by
(22c)
sa ðaz Þ ¼
az aorthz jbj, bz
(22d)
where A Moore–Penrose pseudo-inverse matrix might be used to obtain, elegantly but much less efficiently, the same result. If B is a matrix such that Ba ¼ a b ¼ c, then B þ c ¼ aorth , +
(19)
and both b and c are known.
4.4. Computed-coefficient cross divisions For each of the four equations listed above (Eqs. (22a–d)), a different DCD can be defined. For instance, if W is known:
1
where B ¼ B(b b) is the Moore–Penrose pseudoinverse of B, and B is a skew-symmetric matrix defined as follows: 2 3 0 bz by 6 0 bx 7 B ¼ 4 bz (20) 5. by bx 0
By the definition of the ICD, there is a value sa for s which uniquely identifies a from among the infinitely many anticrossproducts of a b. If this value is known, a can be determined as follows: (21a) or, using an OCD to compute the orthogonal term, (21b) This operation can be regarded as the basic DCD. In fact, in the following paragraphs the definitions of other kinds of DCD will be derived from Eq. (21b). The basic DCD may be also called the ‘‘coefficient-input’’ CD. 4.3. Determining the cross division coefficient The coefficient sa represents the scalar component of a along a Cartesian axis u codirectional with b (sa ¼ au ; Appendix C). In some cases, sa can be computed. For that, it is sufficient to know a scalar value conveying some information about a: the angle it forms with b (W), or one of its scalar components (ax, ay, az).
ðangle-input CDÞ.
(23)
Also, if ax is known:
ðx-component-input CDÞ.
(24)
Since the coefficient sa is not directly input, but indirectly determined as a function of another variable, these DCDs can be classified as ‘‘computed-coefficient’’ CDs, as opposed to the above-defined ‘‘coefficient-input’’ CD.
4.2. The basic definite cross division
(22a)
4.5. Minimum-input cross divisions The OCDs require two input arguments corresponding to six scalar values, while the other kinds of DCD require three arguments corresponding to seven scalar values. However, the six components of b and c contain redundant information. Since the two vectors are by definition orthogonal, five of their components are enough to compute the sixth, by solving for it the following equation, which indicates the orthogonality relationship: b c ¼ 0.
(25)
As for the additional information about a, it can never be omitted in a DCD. Otherwise, the DCD would become a perfect inverse of a CP, and this was shown to be impossible. The DCDs with a missing input value consisting of a component of b or c are called minimum-input CDs. For instance,
(26)
(minimum-input CD with W known and cx unknown),
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
where the expression used to compute the missing component (cx) is the solution of Eq. (25) with respect to it. Any CD, including the OCD and even the ICD, can accept as input a non-redundant set of scalar values (see examples in Table 2). Minimum-input ICDs and minimuminput OCDs require five input values, while other minimum-input DCDs use six input values.
4.6. Simplified minimum-input cross divisions Some kinds of minimum-input CDs may be remarkably simplified. If the additional input value is a component of a along a given axis and the missing value is the component of c along the same axis, the two unknown components of a can be computed by solving two of the equations
INPUT type1 Type of additional input value (string): sa , ax , ay , az , or ϑ. type2 Type of missing input value (string): none, bx , by , bz , cx , cy , or cz . b, c Vectors in R 3 (*). extra Additional input value.
INPUT type1, type2, c, b, extra
NO
1797
Is a component of b or c unknown? (type2 ≠ "none")
OUTPUT a A vector in R 3 .
YES Minimum-input DCD module Are type1 and type2 components of a and c along the same axis? (e.g. type1 = "ax" and type2 = "cx")
YES
Simplified minimum-input DCD (e.g., eq. 27)
NO Computing the missing component of b or c (eq. 25)
Does extra represent sa? (type1 = "sa")
Computed-coefficient CD module NO Computing
sa (eqs. 22a-d)
YES sa = extra
Basic DCD
c /o b + sa bˆ
OUTPUT a
(eq. 21b) Fig. 7. The generalized definite cross division (DCD) algorithm. (*) For minimum-input DCDs (type 2 6¼ ‘‘none’’), an arbitrary value must be assigned to the missing component of b or c.
ARTICLE IN PRESS 1798
P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
5.1. Computing the center of pressure (Fig. 1)
included in Eq. system (9):
With M ¼ r F and F not lying on the xy plane (Fz not null), which is typically true on a force plate, (28) (27)
or
(minimum-input CD with ax known and cx unknown). A similar simplified minimum-input CD can be used to solve problem 1 (Eq. system (3)). It is worth of remark that the minimum-input CDs are not equivalent to the corresponding ‘‘full-input’’ CDs, unless b and c are perfectly orthogonal, as they are supposed to be. 4.7. The generalized DCD algorithm The flowchart shown in Fig. 7 summarizes the simple rules for selecting the proper kind of DCD based on the type of additional and missing input value. This algorithm, which can be regarded as a generalized DCD, was implemented in the MATLABs programming language (de Leva, 2005). All the arcs of the flowchart, except for that taking to the simplified minimum-input DCD, eventually converge to a common module invoking a basic DCD. The algorithm becomes equivalent to a simple OCD when type1 ¼ ‘‘sa’’, type2 ¼ ‘‘none’’, and extra ¼ 0 (default values). 4.8. Limitations of DCDs (a) By definition, in a DCD (e.g. ) the divisor (b) must be the second operand of a CP (a b ¼ c). In the section describing the solution to problem 2, a simple method to overcome this limitation is suggested (see also Eqs. (15) and (16)). (b) When b is parallel to an axis of the selected reference frame, only the component of a or c along that axis can be used as additional or missing input value for a DCD. For instance, if b J z, then both bx and by are null, and the equations in which these components appear as divisors, such as (22b), (22c), (26), and (27), become invalid. As a consequence, ax and ay become invalid additional values, and cx and cy become invalid missing values. (c) For a similar reason, when c is parallel to a reference frame axis, only the component of b along that axis can be used as missing input value for a minimum-input DCD. For instance, if c J z, both cx and cy are null, which implies that both bx and by must be input. 5. Applications Let us now see how the problems presented in the introduction can be solved by using a DCD.
(29) which is equivalent to Eq. system (3). Notice that M does not necessarily coincide with the total moment SM ¼ M+C, applied on and measured by the force plate (Fig. 1). They coincide only when C is null. Luckily, in most of the experimental protocols for human movement analysis, it is impossible for the subject to apply an upward force on the force plate. In these circumstances, the horizontal component of C is null (C ¼ [0, 0, Cz]T), and the measured components of SM are Mx, My, and Mz+Cz . Thus, enough data remain available for computing r with Eq. (29), while Eq. (28) cannot be used because the value of Mz is unknown. When C is known to be null, both the above-listed equations can be used. This circumstance occurs rarely, for instance when a controlled load is applied on the force plate (Rabuffetti et al., 2003). 5.2. Computing a force based on its moment (Fig. 2) For the sake of simplicity, in this paragraph M and r will be used in lieu of MF and rF. Since M ¼ r F, then M ¼ F r. Hence, F can be regarded as one of the anticrossproducts of F r, and as its parallel term. Interestingly, this means that there are infinitely many forces Fi meeting the static equilibrium condition, and that they differ only by their component , parallel to r. It also means that the component of F orthogonal to r is unique and can be computed using (30) Notice that Moreover, since
(see limitations of DCDs). is aligned with r, (31)
Hence, (32a) where is a basic DCD, in which the CD coefficient sF happens to coincide with the measured component of F (sF ). This equation holds independently of the orientation of the reference frame G(x, y, z) with respect to which F, M and r are resolved: (32b)
ARTICLE IN PRESS P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
5.3. Computing the angular velocity of a vector (Fig. 3) Since north ¼ x r and x, by definition, must be orthogonal to r, we can use a simple OCD to compute x: (33) Interestingly, since r north is equivalent to r n, the latter equation is equivalent to (34a) This vectorial relationship between angular and linear velocity is valid for the unconstrained three-dimensional motion of a point (Fig. 3), and closely resembles the widely known scalar relationship between the respective magnitudes, valid only for circular motion (o ¼ n/r). Using a more explicit notation,
is the angular velocity where, for instance, of vector i (cf. with Eq. (34b)), coinciding with the angular velocity of axis xL and with the projection of x on the local Cartesian plane yzL ðxyzL ¼ xyL þ xzL Þ. All vectors are resolved with respect to G(x, y, z). The latter equation is slightly less efficient but easier to write and to remember than Poisson’s formula. Moreover, it has a straightforward geometric interpretation, based on Eq. (34b) (Fig. 8). 6. Discussion If a, b, c are vectors in R3 , and a b ¼ c, then:
(34b)
This formula can be used to determine the angular velocity of any vector, as a function of its derivative (the velocity of its tip). It is valid even when the magnitude of r is not constant.
5.4. Computing the angular velocity of a rigid body The most efficient algorithm for computing the angular velocity of a rigid body is that proposed by Poisson (Berme et al., 1990; Zatsiorsky, 1998). This rearrangement facilitates its geometrical interpretation: x ¼ xxL þ xyL þ xzL ¼ ð_j kÞi þ ðk_ iÞj þ ð_i jÞk; T
T
(35) T
where i ¼ [ix iy iz] , j ¼ [jx jy jz] , and k ¼ [kx ky kz] are the versors of a local reference frame L(xL , yL , zL) fixed to the body, with respect to the global reference frame G(x, y, z) in which all vectors are represented. It can be easily shown that Poisson’s formula is equivalent to (36)
Fig. 8. A reference frame L(xL , yL , zL) rotates about its origin OL with angular velocity x. The tips of unit vectors i, j, k move with linear velocities ni , nj , nk. For instance, nk ¼ k_ ¼ x k ¼ xxyL k, implying |nk| ¼ jxxyL j. Thus, nk is independent of xzL . Vector xxyL represents both the angular velocity of k (cf. with Fig. 3) and the orthogonal anticrossproduct of x k. Similarly, ni ¼ xyzL i, and nj ¼ xxzL j.
1799
by definition c identifies the plane on which a and b lie (‘‘cross product plane’’); c and b define, by means of an ICD, an ‘‘anticrossproduct axis’’ on that plane (Fig. 4); c, b, and an appropriate scalar value determine, through a DCD, a specific point on that line: typically, the tip of a. The additional scalar value is, in most cases, a quantity conveying information about a (the ‘‘CD coefficient’’ associated with a, or a component of a, or the angle between a and b). An arbitrary additional value identifies the tip of one of the anticrossproducts of a b, which may not coincide with a.
Four main kinds of DCD were defined: basic, orthogonal, computed-coefficient, and minimum-input DCDs. They represent a family of efficient algorithms with a common logical kernel, and a simple geometrical interpretation. A generalized DCD algorithm was also defined, incorporating the rules for selecting the proper kind of DCD based on the type of input information. A DCD can be regarded as a unique pseudo-inverse of a cross product. All kinds of DCD were derived from a single ICD, a nonunique quasiinverse of the cross product. The DCDs were devised to simplify the solution of physical problems. For instance, a single DCD was shown to be sufficient to determine the angular velocity of any vector, as a function of its value and time derivative, locate the point of application of a force based on dynamometric data, and estimate a force based on its moment, its point of application, and the reading of a monoaxial load cell. The simplest kind of DCD is the OCD. As shown above, an OCD is equivalent to a much less efficient algorithm requiring the computation of a Moore–Penrose pseudoinverse matrix. The halved sum of three OCDs can be used to determine the angular velocity of a rigid body, based on linear kinematic data. This expression is slightly less efficient, but easier to write and remember than that proposed by Poisson for the same purpose. Geometric algebra (Dorst et al., 2007), a branch of modern algebra which has been recently shown to have
ARTICLE IN PRESS 1800
P. de Leva / Journal of Biomechanics 41 (2008) 1790–1800
interesting applications in advanced physics, is endowed with other kinds of vector multiplication inverses: a perfect inverse of the geometric product (geometric division), and the pseudo-inverses of the inner (or dot or interior) and outer (or wedge, or exterior) product. Interestingly, the geometric division of ab by b, where the geometric product ab is a multivector similar to a quaternion, closely resembles a basic DCD. Moreover, the outer product a4b ¼ C and its pseudo-inverse C4b1 ¼ Cb1 ¼ aorth are numerically almost identical to the CP a b ¼ c and the OCD . Namely, by one of the most commonly adopted basis set definitions, the scalar components of bivector C and vector c are just permutations of each other ([Cxy Cyz Czx] ¼ [cz cx cy]). None of the operations defined in geometric algebra is similar to a computedcoefficient or minimum-input DCD.
Conflict of interest I have no financial or personal relationships with other people or organizations that could inappropriately influence or bias my work. Acknowledgments The author expresses his appreciation to Prof. Aurelio Cappozzo and his team for their expert advice and constant support, and to the volunteers who compiled the articles related to mathematics contained in Wikipedia, the Free Encyclopedia (http://en.wikipedia.org), for gathering an enormous amount of useful information including selected bibliographic references.
7. Conclusions
Appendices. Supplementary materials
The above illustrated applications showed that the main advantage that the DCDs offer, with respect to traditional methods, resides in their ease of use and intuitive appeal. The DCDs provide a short and at the same time insightful symbolic representation of comparatively complex expressions. This simplifies the task of writing the analytic solution to the problems presented in the introduction. On the other hand, the task of computing the solution to the same problems can be greatly simplified by using a computer programming language in which the generalized DCD algorithm is implemented (de Leva, 2005). This is likely to entail a diminution of the time spent for editing and debugging the relevant source code. The expressions symbolized by most kinds of DCDs are vectorial, but each is equivalent to the easily derivable system of solutions of a system of scalar equations. Thus, although in some cases these solutions consist of cumbersome scalar expressions, the DCDs are not indispensable. However, even those readers who will prefer not to use them in lieu of traditional methods, will possibly find it useful to refer to the concept of anticrossproduct, which represents the logical foundation for this study.
Supplementary materials associated with this article can be found in the online version at doi:10.1016/j.jbiomech. 2007.09.030 References Berme, N., Cappozzo, A., Meglan, J., 1990. Rigid body mechanics as applied to human movement studies-Kinematics. In: Berme, N., Cappozzo, A. (Eds.), Biomechanics of Human Movement: Applications in Rehabilitation, Sports and Ergonomics. Bertec Corporation, Worthington, pp. 89–102. de Leva, P., 2005. Vector Algebra for Multidimensional Arrays of Vectors. In: The MathWorks Inc., Matlabs Central—File Exchange Web site, /http://www.mathworks.com/matlabcentral/fileexchangeS. de Leva, P., 2007. A low cost and easy to use load shaft for in situ calibration of force plates. Unpublished study. Dorst, L., Fontijne, D., Mann, S., 2007. Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry. Morgan Kaufmann, San Francisco, pp. 141–158. Gibbs, J.W., 1881–1884. Elements of Vector Analysis. Privately published in two parts, New Haven. Reprinted in Gibbs, J.W., 1961. The Scientific Papers of J. Willard Gibbs. Dover, New York, vol. 2, pp. 17–50. Rabuffetti, M., Ferrarin, M., Mazzoleni, P., Benvenuti, F., Pedotti, A., 2003. Optimised procedure for the calibration of the force platform location. Gait and Posture 17, 75–80. Zatsiorsky, V.M., 1998. Kinematics of Human Motion. Human Kinetics, Champaign, pp. 178–183.