Graphics Reference
In-Depth Information
that there is no orientation information directly associated with the marker. This means that, given a
marker location and the relative distance from the marker to the joint, the user does not know in which
direction to apply the displacement in order to locate the joint.
One solution is to put markers on both sides of the joint. With two marker locations, the joint can be
interpolated as the midpoint of the chord between the two markers. While effective for joints that lend
themselves to this approach, the approach does not work for joints that are complex or more inaccessible
(such as the hip, shoulder, and spine), and it doubles the number of markers that must be processed.
A little geometry can be used to calculate the displacement of the joint from the marker. A plane
formed by three markers can be used to calculate a normal to a plane of three consecutive joints, and
this normal can be used to displace the joint location. Consider the elbow. If there are two markers at the
wrist (commonly used to digitize the forearm rotation) the position of the true wrist can be interpolated
between them. Then the wrist-elbow-shoulder markers can be used to calculate a normal to the plane
formed by those markers. Then the true elbow position is calculated by offsetting from the elbow
marker in the direction of the normal by the amount measured from the performer. By recalculating
the normal every frame, the user can easily maintain an accurate elbow position throughout the per-
formance. In most cases, this technique is very effective. A problem with the technique is that when the
arm straightens out the wrist-elbow-shoulder become (nearly) collinear. Usually, the normal can be
interpolated during these periods of congruity from accurately computed normals on either side of
the interval. This approach keeps limb lengths much closer to being constant.
Now that the digitized joint positions are more consistent with the skeleton to be articulated, they
can be used to control the skeleton. To avoid absolute positioning in space and further limb-length
changes, one typically uses the digitized positions to calculate joint rotations. For example, in a skeletal
hierarchy, if the positions of three consecutive joints have been recorded for a specific frame, then a
third of the points in the hierarchy is used to calculate the rotation of that limb relative to the limb
represented by the first two points ( Figure 6.6 ) .
After posing the model using the calculated joint angles, it might still be the case that, because of
inaccuracies in the digitization process, feature points of the model violate certain constraints such as
avoiding floor penetration. The potential for problems is particularly high for end effectors, such as the
hands or feet, which must be precisely positioned. Often, these must be independently positioned, and
then the joints higher up the hierarchy (e.g., knee and hip) must be adjusted to compensate for any
change to the end effector position.
P 1
( P 3 P 2 )( P 2 P 1 )
P 3 P 2 P 2 P 1
P 2
cos ( )
P 3
FIGURE 6.6
One-DOF rotation joint.
 
Search WWH ::




Custom Search