• No results found

Hierarchical binary bounding box trees (HBBBTs)

4. Optimization-based reconstruction of bone motion

4.2. Collision detection

4.2.2. Hierarchical binary bounding box trees (HBBBTs)

Subsets of triangles on two interacting surfaces can be excluded from the triangle-triangle find intersection algorithm if a test intersection procedure on their convex hulls returns false. In this thesis, cuboids were chosen as convex hulls, further referred to as bounding boxes. The key idea of HBBBTs is to hierarchically organize these bounding boxes in a binary tree. Each node in this tree corresponds to a subset of triangles (and their corresponding bounding box) and has exactly two children, unless it is a leaf node: these, by definition, contain only one triangle and have no children (fig 4.5).

34 4. Optimization-based reconstruction of bone motion One HBBBT is generated offline for each surface in the following way: The root bounding box (k=0) encloses all triangles of a surface. Generally, the triangles associated with the two child nodes on the next level k+1 are found by dividing the set of triangles of a node on level k into roughly two halves. The recursion stops after a leaf node is generated. The articulating surface of the lunate (patient 24117) depicted in fig. 4.6 consists of 8,872 triangular faces. The HBBBT of this surface has depth 18.

At run-time, two HBBBTs are checked for collision with a recursive test intersection procedure from root to leaves. The procedure starts by testing intersection of the two root bounding boxes: if they do not intersect, the two surfaces cannot collide and the algorithm stops; if they do intersect, the two bounding boxes of the next level on one surface are tested against each of the bounding boxes on the next level of the other surface. In this recursive manner, the levels of the trees are tested against each other. The recursion stops if a bounding box on one level does not collide with any bounding box of the other surface. In this case, all nodes below this level are not considered at all. If this is not the case and the lowest level is reached, the algorithms stores one or several pairs of colliding leaf bounding boxes.

When investigating the relative motion of two articulating bone surfaces, one surface is considered fixed and its bounding boxes remain stationary. Accordingly, only the vertex coordinates of the bounding boxes on the moving surface are recalculated in each time step such that their faces are parallel to those of the bounding boxes on the fixed surface. For two aligned bounding boxes the test intersection procedure is particularly simple using separating axis: the set of possible separation directions merely consists of the three face edge vectors [51].

The recursive algorithms to generate a HBBBT and to test collision of two HBBBTs are well described by Hippmann [77]. Hierarchically ordered bounding volume trees were reported by Zachmann [157, 158] and Gottschalk [68].

The result of the HBBBT test intersection procedure is a set of pairs of colliding leaf bounding boxes. The elementary triangle-triangle find intersection operation is then carried out only for these pairs.

Table 4.1 shows the time4 consumed to calculate the sample contact shown in fig. 3.5

using the brute force algorithm and HBBBTs. The articulating lunate surface consists of 8,872 triangles, the one of the capitate of 10,480 triangles. Instead of 9.3 · 107 calls to the

elementary triangle-triangle procedure (as with the brute force algorithm), only 10,319 calls are necessary to check the pairs of colliding leaf bounding boxes identified in the HBBBT intersection. Building the HBBBTs took an additional 13.4 seconds (lunate)

4.2. Collision detection 35

k=0

k=1

k=2

k=3

Figure 4.5.: 2D example of a hierarchical bounding volume tree for five triangular faces. The tree has depth 4. Three leaf nodes are on level 2, two leaf nodes are on the lowest level. The bounding box for each node is drawn broken.

Figure 4.6.: Triangulated articulating surface of the lunate and bounding boxes for subsets of triangles on some levels of its HBBBT. The bounding boxes on each level are drawn broken.

36 4. Optimization-based reconstruction of bone motion and 17.4 seconds (capitate). The resulting polylines surrounding the collision patch are identical in either run.

Procedure Time Time Procedure

0.48 sec align boxes

1.5 sec find colliding leaf boxes 9.3 · 107 elementary op’s 6.0 hrs 2.2 sec 10,319 elementary op’s

Table 4.1.: Calculation time benchmark for the contact in fig. 3.5: brute force (left) and the elementary operation preceded by HBBBT intersection (right).

4.3. Key frame interpolation with parametric cubic

polynomial splines in dual quaternion space

The term key frame interpolation is used in computer animation: the key frames (im- ages) of a transforming object and the associated timesteps are created before in-between frames are interpolated. The resulting quasi-continuous sequence yields a smoothly trans- forming object passing through the key states at key timesteps. In the following, mea- sured bone poses will hence be referred to as key poses.

Splines are series of adjoining curves. Spline interpolation patterns can be classified according to their global continuity5 Cn, which is limited by the differentiability in key

time steps, where curve segments adjoin (fig. 4.7).

Linear interpolation between a series of key poses yields the lowest order of continuity C0. Regarded as the trajectory of a moving point, C0 interpolation does not resem-

ble natural motion. Hence, higher-order interpolation schemes, such as higher-order polynomial splines [55] or B-splines [22] (fig. 4.7), are well-established for the 3D case. Interpolating rigid-body key poses with 3D techniques, however, requires that rigid-body displacement is separated into translational and rotational displacement: described by three parameters each, they can be interpolated independent from one another.

The drawbacks of this frequently chosen approach become obvious even with linear in- terpolation. Therefore, the following sections first deal with linear interpolation between two key poses before parametric polynomial C1 curves are derived to interpolate a series

5A function is said to be of class Cnif all its derivatives up to order n exist and are continuous [66]. For

the sake of brevity, a curve is denoted, for example, “C2 continuous” or simply “C2” if its curvature

4.3. Parametric cubic polynomial interpolation in dual quaternion space 37

Related documents