Computer Animation Algorithms and Techniques - PowerPoint PPT Presentation

1 / 79
About This Presentation
Title:

Computer Animation Algorithms and Techniques

Description:

Affects of scale are divided out by the inverse appearing in quaternion rotation ... Smooth quaternion interpolation ... Quaternion operators ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 80
Provided by: rick235
Category:

less

Transcript and Presenter's Notes

Title: Computer Animation Algorithms and Techniques


1
Computer AnimationAlgorithms and Techniques
Interpolating Values
2
Animation
Animator specified interpolation key
frame Algorithmically controlled Physics-based B
ehavioral Data-driven motion capture
3
Motivation
Common problem given a set of points Smoothly
(in time and space) move an object through the
set of points
Example additional temporal constraints From
zero velocity at first point, smoothly accelerate
until time t1, hold a constant velocity until
time t2, then smoothly decelerate to a stop at
the last point at time t3
4
Motivation solution steps
1. Construct a space curve that interpolates the
given points with piecewise first order continuity
pP(u)
2. Construct an arc-length-parametric-value
function for the curve
uU(s)
3. Construct time-arc-length function according
to given constraints
sS(t)
pP(U(S(t)))
5
Interpolating function
Interpolation v. approximation Complexity
cubic Continuity first degree (tangential) Local
v. global control local Information
requirements tangents needed?
6
Interpolation v. Approximation
7
Complexity
Low complexity reduced computational cost
Point of Inflection Can match arbitrary tangents
at end points
CUBIC polynomial
8
Continuity
9
Local v. Global Control
10
Information requirements
just the points
tangents
interior control points
just beginning and ending tangents
11
Curve Formulations
Lagrange Polynomial
Piecewise cubic polynomials Hermite Catmull-Rom Bl
ended Parabolas Bezier B-spline Tension-Continuity
-Bias 4-Point Form
12
Lagrange Polynomial
13
Polynomial Curve Formulations
Need to match real-world data v. design from
scratch Information requirements just points?
tangents? Qualities of final curve? Intuitive
enough? Other shape controls?
Blending Functions
Algebraic coefficient matrix
Geometric information
Coefficient matrix
14
Hermite
15
Cubic Bezier
Interior control points play the same role as the
tangents of the Hermite formulation
16
Blended Parabolas/Catmull-Rom
End conditions are handled differently
17
Controlling Motion along pP(u)
Step 2. Reparameterization by arc length
u U(s) where s is distance along the curve
Step 3. Speed control
for example, ease-in / ease-out
s ease(t) where t is time
18
Reparameterizing by Arc Length
Analytic Forward differencing Supersampling Adap
tive approach Numerically Adaptive Gaussian
19
Reparameterizing by Arc Length - analytic
Cant always be solved analytically for our
curves
20
Reparameterizing by Arc Length - supersample
  • Calculate a bunch of points at small increments
    in u
  • Compute summed linear distances as approximation
    to arc length
  • Build table of (parametric value, arc length)
    pairs
  • Notes
  • Often useful to normalize total distance to 1.0
  • Often useful to normalize parametric value for
    multi-segment curve to 1.0

21
Build table of approx. lengths
22
Adaptive Approach How fine to sample?
Compare successive approximations and see if they
agree within some tolerance
Test can fail subdivide to predefined level,
then start testing
23
Reparameterizing by Arc Length - quadrature
Lookup tables of weights and parametric values
Can also take adaptive approach here
24
Reparameterizing by Arc Length
Analytic Forward differencing Supersampling Adap
tive approach Numerically Adaptive Gaussian
Sufficient for many problems
25
Speed Control
distance
Time-distance function Ease-in Cubic
polynomial Sinusoidal segment Segmented
sinusoidal Constant acceleration General
distance-time functions
time
26
Time Distance Function
S
s
s S(t)
t
27
Ease-in/Ease-out Function
S
s
1.0
s S(t)
0.0
t
1.0
0.0
Normalize distance and time to 1.0 to facilitate
reuse
28
Ease-in Sinusoidal
29
Ease-in Piecewise Sinusoidal
30
Ease-in Piecewise Sinusoidal
Provides linear (constant velocity) middle segment
31
Ease-in Single Cubic
32
Ease-in Constant Acceleration
33
Ease-in Constant Acceleration
34
Ease-in Constant Acceleration
35
Ease-in Constant Acceleration
36
Arbitrary Speed Control
Animators can work in Distance-time space
curves Velocity-time space curves Acceleration-t
ime space curves Set time-distance
constraints etc.
37
Curve fitting to distance-time pairs
38
Working with time-distance curves
39
Interpolating distance-time pairs
40
Frenet Frame control orientation
41
Frenet Frame tangent curvature vector
42
Frenet Frame tangent curvature vector
43
Frenet Frame tangent curvature vector
44
Frenet Frame local coordinate system
  • Directly control orientation of object/camera
  • Use for direction and bank into turn, especially
    for ground-planar curves (e.g. roads)

45
Frenet Frame - undefined
46
Frenet Frame - discontinuity
47
Other ways to control orientation
Use auxiliary curve to define direction or up
vector
Use point P(sds) for direction
48
Direction Up vector
To keep head up, use y-axis to compute over and
up vectors perpendicular to direction vector
v u x w
w
If up vector supplied, use instead of y-axis
uw x y-axis
Direction vector
49
Orientation interpolation
  • Preliminary note
  • Remember that
  • Affects of scale are divided out by the inverse
    appearing in quaternion rotation
  • When interpolating quaternions, use UNIT
    quaternions otherwise magnitudes can interfere
    with spacing of results of interpolation

50
Orientation interpolation
Quaternions can be interpolated to produce
in-between orientations
  • 2 problems analogous to issues when interpolating
    positions
  • How to take equi-distant steps along orientation
    path?
  • How to pass through orientations smoothly (1st
    order continuous)

3. And another particular to quaternions with
dual unit quaternion representations, which to
use?
51
Dual representation
Dual unit quaternion representations
For Interpolation between q1 and q2, compute
cosine between q1 and q2 and between q1 and q2
choose smallest angle
52
Interpolating quaternions
Unit quaternions form set of points on 4D sphere
Linearly interpolating unit quaternions not
equally spaced
53
Interpolating quaternions in great arc gt equal
spacing
54
Interpolating quaternions
where
  • slerp, sphereical linear interpolation is a
    function of
  • the beginning quaternion orientation, q1
  • the ending quaternion orientation, q2
  • the interpolant, u

55
Smooth Orientation interpolation
Use quaternions Interpolate along great arc (in
4-space) using cubic Bezier on sphere 1. Select
representation to use from duals 2. Construct
interior control points for cubic Bezier 3. use
DeCastelajue construction of cubic Bezier
56
Smooth quaternion interpolation
Similar to first order continuity desires with
positional interpolation
How to smoothly interpolate through orientations
q1, q2, q3,qn
Bezier interpolation geometric construction
57
Bezier interpolation
58
Construct interior control points
Bezier interpolation
a0
p1
p2
p0
59
Quaternion operators
q2
qb
bisect(q1, q2)
Similar to forming a vector between 2 points,
form the rotation between 2 orientations
q1
q2
double(q1, q2)
Given 2 orientations, form result of applying
rotation between the two to 2nd orientation
q1
qd
60
Quaternion operators
p
q
Bisect 2 orientations
61
Bezier interpolation
Need quaternion-friendly operators to form
interior control points
62
Bezier interpolation
Construct interior control points
Bezier segment qn, an, bn1, qn1
63
Bezier construction using quaternion operators
Need quaternion-friendly operations to
interpolate cubic Bezier curve using quaternion
points
de Casteljau geometric construction algorithm
64
Bezier construction using quaternion operators
t1slerp(qn, an,1/3) t2slerp(an,
bn1,1/3) t3slerp(bn1, qn1,1/3)
t12slerp(t1, t2,1/3) t23slerp(t12, t23,1/3)
qslerp(t12, t23,1/3)
65
Working with paths
Smoothing a path Determining a path along a
surface Finding downhill direction
66
Smoothing data
67
Smoothing data
68
Smoothing data
69
Smoothing data
70
Smoothing data
71
Smoothing data
72
Smoothing data
73
Smoothing data
74
Smoothing data
75
Smoothing data
76
Smoothing data
77
Smoothing data
78
Path finding
79
Path finding - downhill
Write a Comment
User Comments (0)
About PowerShow.com