Graphics Reference
In-Depth Information
Sequence 1
Sequence 2
Sequence 3
Figure 7.17. An example motion graph for three sequences. The vertices (large dots) are time
indices into each subsequence. The edges (directed arrows) indicate viable transitions within
or across subsequences. The horizontal edges already exist within the original motion capture
data, while the remaining edges must be synthesized by motion interpolation. The thicker edges
indicate an example walk on the graph that generates a natural motion.
frames in sequence 1
θ (
t )) can be used to identify vertices
Figure 7.18. Minima of the pose distance function c
( θ (
t
)
,
and edges of the motion graph (white dots).
As illustrated in Figure 7.17 , the resulting motion graph can create cycles within
the same sequence (for example, between similar footplants in several steps of a
walking sequence) as well as create transitions across different sequences. Kovar
et al. [ 254 ] also described heuristics to prune vertices from the motion graph that are
not very well connected such as dead ends (e.g., the last vertex in the second row of
Figure 7.17 ).
After estimating the motion graph for a motion capture database, we can estimate
the transitions along edges that best satisfy a higher-level constraint. For example, we
may want to create a long sequence in which a character driven by motion capture
data travels along a given path the user has traced on the ground. This amounts to
estimating a walk along the graph defined by a sequence of edges W
= (
e 1 , e 2 ,
...
, e L )
that minimizes — or at least has a small value of — a goodness-of-fit function F
)
defined by the user constraints. Kovar et al. [ 254 ] described an efficient branch-and-
bound technique for finding a graph walk satisfying user-specified path constraints.
(
W
Search WWH ::




Custom Search