GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
1
Computer Animation
고려대학교 컴퓨터 그래픽스 연구실
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
2
Computer Animation
What is Animation?
Make objects change over time
according to scripted actions
What is Simulation?
Predict how objects change over
time according to physical laws
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
10
Keyframe Animation
Define Character Poses at Specific Time
Steps Called “Keyframes”
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
11
Keyframe Animation
Interpolate Variables Describing Keyframes
to Determine Poses for Character in between
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
12
Inbetweening
Linear Interpolation
Usually not enough continuity
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
13
Inbetweening
Spline Interpolation
Maybe good enough
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
14
Inbetweening
Spline Interpolation
Maybe good enough
May not follow physical laws
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
15
Inbetweening
Spline Interpolation
Maybe good enough
May not follow physical laws
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
18
Articulated Figures
Character Poses Described by Set of Rigid
Bodies Connected by “Joints”
Base
Arm
Hand
Scene Graph
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
19
Articulated Figures
Well-Suited for Humanoid Characters
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
20
Articulated Figures
Joints Provide Handles for Moving
Articulated Figure
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
21
Inbetweening
Compute Joint Angles between Keyframes
consider the length constancy
Right Wrong
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
22
Example: Walk Cycle
Articulated Figure:
Hip
Knee
Foot
Upper Leg
Ankle
Lower Leg
Hip Rotate
Hip Rotate + Knee Rotate
Upper Leg (Hip Rotate)
Foot (Ankle Rotate)
Lower Leg (Knee Rotate)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
23
Example: Walk Cycle
Hip Joint Orientation:
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
27
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
28
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
29
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
30
Temporal Ailasing
Artifacts due to Limited Temporal Resolution
Strobing
Flickering
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
31
Motion Blur
Composite Weighted Images of Adjacent
Frames
Remove parts of signal under-sampled in time
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
33
Kinematics &
Dynamics
고려대학교 컴퓨터 그래픽스 연구실
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
34
Overview
Kinematics
Consider only motion
Determined by positions, velocities, accelerations
Dynamics
Consider underlying forces
Compute motion from initial conditions and physics
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
35
Example: 2-Link Structure
Two Links Connected by Rotational Joints
“End-Effector”
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
36
Forward Kinematics
Animator Specifies Joint Angles: O
1
and O
2
Computer Finds Positions of End-Effector: X
X=(x, y)
(0, 0)
X=(l
1
cosO
1
+ l
2
cos(O
1
+O
2
), l
1
sinO
1
+ l
2
sin(O
1
+O
2
))
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
37
Forward Kinematics
Joint Motions can be Specified by Spline
Curves
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
38
Forward Kinematics
Joint Motions can be Specified by Initial
Conditions and Velocities
X=(x, y)
(0, 0) ( ) ( )
1 . 0 2 . 1
250 0 60 0
2 1
2 1
÷ =
O
=
O
° = O ° = O
dt
d
dt
d
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
39
Example: 2-Link Structure
What If Animator Knows Position of “End-
Effector”
“End-Effector”
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
40
Inverse Kinematics
Animator Specifies End-Effector Positions: X
Computer Finds Joint Angles: O
1
and O
2
X=(x, y)
(0, 0)
( ) ( )
( ) ( )x l l y l
y l l x l
l l
l l y x
2 2 1 2 2
2 2 1 2 2
1
2 1
2
2
2
1
2 2
1
2
cos sin
cos sin
2
cos
O + + O
O + + O ÷
= O
|
|
.
|
\
|
÷ ÷ +
= O
÷
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
41
Inverse Kinematics
End-Effector Postions can be Specified by
Spline Curves
X=(x, y)
(0, 0)
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
42
Inverse Kinematics
Problem for More Complex Structures
System of equations is usually under-defined
Multiple solutions
X=(x, y)
(0, 0)
Three unknowns: O
1
, O
2
,
O
3
Two equations: x, y
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
43
Inverse Kinematics
Solution for More Complex Structures
Find best solution (e.g., minimize energy in motion)
Non-linear optimization
Inverse Kinematics
“Goal-directed” motion
Specify goal positions of end effectors
Compute conditions required to achieve goals
Inverse kinematics provides easier
specification for many animation tasks,
but it is computationally more difficult
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
45
Overview
Kinematics
Consider only motion
Determined by positions, velocities, accelerations
Dynamics
Consider underlying forces
Compute motion from initial conditions and physics
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
46
Dynamics
Simulation of Physics Insures Realism of
Motion
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
47
Space Time Constraints
Animator Specifies Constraints
What the character’s physical structure is
e.g., articulated figure
What the character has to do
e.g., jump from here to there within time t
What other physical structures are present
e.g., floor to push off and land
How the motion should be performed
e.g., minimize energy
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
48
Space Time Constraints
Computer Finds the “Best” Physical Motion
Satisfying constraints
Example: Particle with Jet Propulsion
x(t) is position of particle at time t
f(t) is force of jet propulsion at time t
Particle’s equation of motion is:
Suppose we want to move from a to b within t
0
to t
1
with minimum jet fuel:
0 = ÷ ÷
' '
mg f x m
( ) ( ) ( ) b t x a t x dt t f
t
t
= =
}
1 0
2
and subject to Minimize
1
0
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
49
Space Time Constraints
Discretize Time Steps
b x a x f h
mg f
h
x x x
x m
h
x x x
x
h
x x
x
i
i
i
i i i
i i i
i i
= =
= ÷ ÷
|
.
|
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
51
Space Time Constraints
Advantages
Free animator from having to specify details of
physically realistic motion with spline curves
Easy to vary motions due to new parameters and/or
new constraints
Challenges
Specifying constraints and objective functions
Avoiding local minima during optimization
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
52
Space Time Constraints
Adapting Motion
Original Jump
Heavier Base
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
53
Space Time Constraints
Adapting Motion
Hurdle
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
54
Space Time Constraints
Adapting Motion
Ski Jump
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
55
Space Time Constraints
Editing Motion
Original Adapted
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
56
Space Time Constraints
Morphing Motion
The female character morphs into a
smaller character during her spine
CGVR
GraphicsLab@KoreaUniversity GraphicsLab@KoreaUniversity
cgvr.korea.ac.kr
57
Space Time Constraints
Advantages
Free animator from having to specify details of
physically realistic motion with spline curves
Easy to vary motions due to new parameters and/or
new constraints
Challenges
Specifying constraints and objective functions
Avoiding local minima during optimization