To transfer the motion into the AMS, the corresponding angles must be calculated for each recorded frame/time step and for each joint. Accordingly, three joint angles (Cardan angles) were exported per joint, each describing a relative angle between two bone segments, i.e., metacarpal to proximal phalanx, along a selected axis [23]. In this work, the joint coordinate system followed the standards of the International Society of Biomechanics as described by Disselhorst-Klug et al. [24]. The three angles and the corresponding axes in Figure 4 are
rotation about the flexion and extension axis (X-axis, ),
rotation about the resultant abduction and adduction axis (Y-axis, ), and
rotation about the resultant rotation axis (Z-axis, ).
Definition of the joint angles. (a) The skeletal structure of a hand. (b) The stretched position of the index finger (wrist, metacarpals (MC), proximal phalanges (PP), intermediate phalanges (IP), and distal phalanges (DP)) represents the reference position. (c) Angles are calculated in a followed bending position of the index finger. The angles , and represent the angles around the X-axis (flexion/extension).
An initial position (neutral-zero position) of the hand is set in the AMS. The joint angle calculation is based on the reference position and bone bases of the flat outstretched hand exported from the AMS. The angles for the following motion are calculated depending on this reference position. ROSE Motion saves the basis for each bone—per frame/time step—from the LMC recording. From this basis, the required joint angles are calculated by matrix multiplications and angle functions. As an example, the index finger is shown in Figure 4. The index finger is shown in its initial position and below, in the following position, the index finger is flexed. To reproduce this motion, in each frame the angles , and are calculated ( and accordingly).
The basis of a bone represents a rotation matrix, which defines the rotation from the global coordinate system into the current orientation of the bones local coordinate system. Using the basis of an arbitrary bone, for example, bone A, at time and at time , another rotation matrix can be calculated, which reflects the rotation between time and . The matrix represents the rotation from the origin 0 to the bone A at the time frame i. represents the rotation from the bone A to the origin 0 and is equal to . With matrix multiplication [23,25], it is possible to calculate the rotation matrix from bone A between the time frame and . From the rotation matrix the Cardan angles , , and can be calculated [23,26] and implemented as in the Blender mathutils library [27].
To simplify the transfer of the angles to the AMS, the angles of the joints are always calculated in relation to the initial position of the hand. The calculation of the Cardan angles is shown by an example in Figure 5. The angle between the proximal phalanges (PP) and intermediate phalanges (IP) of the index finger is calculated. The calculation is divided into two steps. In the first step, the rotation matrix of the IP and PP is calculated at the time to the bones IP and PP at the time . The calculation is made by the basis and of the bones and is the same as in Equation (1). To calculate the Cardan angle between the PP and IP, the difference of both rotation matrices and must be determined in the same way as in Equation (2).
To obtain the angle between the proximal phalanges (PP) and intermediate phalanges (IP) the angles and are needed. Consequently, first the angle will be calculated with the rotation matrix from at the initial condition () and at the time step . Second, the angle will be calculated with the rotation matrix from at the initial condition () and at the time step . The difference between and defines the required angle .
The calculation of the example as graphically illustrated in Figure 5 is applied to all finger joints.
Do you have any questions about this protocol?
Post your question to gather feedback from the community. We will also invite the authors of this article to respond.