Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and...
Transcript of Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and...
![Page 1: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/1.jpg)
1
Dynamics
Thomas Funkhouser
Princeton University
C0S 426, Spring 2004
Kinematics and Dynamics
• Kinematics� Considers only motion� Determined by positions, velocities, accelerations
• Dynamics� Considers underlying forces� Compute motion from initial conditions and physics
Passive vs. Active Dynamics
Hodgins
Passive Dynamics
• No muscles or motors� Smoke� Water� Cloth� Fire� Fireworks
Passive Dynamics
• Particle systems
• Spring meshes
• Level sets
• Collisions
• etc.
Particle Systems
• A particle is a point mass � Mass� Position� Velocity� Acceleration� Color� Lifetime
• Use lots of particles to model complex phenomena� Keep array of particles
p = (x,y,z)
v
![Page 2: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/2.jpg)
2
Particle Systems
• For each frame:� Create new particles and assign attributes� Delete any expired particles� Update particles based on attributes and physics� Render particles
Creating/Deleting Particles
• Where to create particles?� Around some center � Along some path� Surface of shape� Where particle density is low
• When to delete particles?� Where particle density is high� Life span� Random
This is where user controls animation
Example: Wrath of Khan
Reeves
Example: Wrath of Khan
Reeves
Example: Wrath of Khan
Reeves
Equations of Motion
• Newton’s Law for a point mass� f = ma
• Update every particle for each time step� a(t+∆t) = g� v(t+∆t) = v(t) + a(t)*∆t� p(t+∆t) = p(t) + v(t)*∆t + a(t)2*∆t/2
![Page 3: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/3.jpg)
3
Solving the Equations of Motion
• Initial value problem� Know p(0), v(0), a(0)� Can compute force at any time and position� Compute p(t) by forward integration
fp(0)
p(t)
Hodgins
Solving the Equations of Motion
• Euler integration� p(t+∆t)=p(t) + ∆t f(x,t)
Hodgins
Solving the Equations of Motion
• Euler integration� p(t+∆t)=p(t) + ∆t f(x,t)
• Problem:� Accuracy decreases as ∆t gets bigger
Hodgins
Solving the Equations of Motion
• Midpoint method (2nd order Runge-Kutta)� Compute an Euler step� Evalute f at the midpoint� Take an Euler step using midpoint force
» p(t+∆t)=p(t) + ∆t f( p(t) + 0.5*∆t f(t),t)
Hodgins
Solving the Equations of Motion
• Adapting step size� Compute pa by taking one step of size h� Compute pb by taking 2 steps of size h/2� Error = | pa - pb |� Adjust step size by factor (epsilon/error)1/f
error
pa
pb
Particle System Forces
• Force fields� Gravity, wind, pressure
• Viscosity/damping� Liquids, drag
• Collisions� Environment� Other particles
• Other particles� Springs between neighboring particles (mesh)� Useful for cloth
![Page 4: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/4.jpg)
4
Rendering Particles
• Volumes� Ray casting, etc.
• Points� Render as individual points
• Line segments� Motion blur over time
Example: Fountain
Particle System API
More Passive Dynamics Examples
• Spring meshes
• Level sets
• Collisions
• etc.
Example: Cloth
Fedkiw
Example: Cloth
Fedkiw
Example: Smoke
Fedkiw
![Page 5: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/5.jpg)
5
Example: Smoke
Fedkiw
Example: Water
CS426
Example: Water
Fedkiw
Example: Water
Fedkiw
Example: Rigid Body Contact
Fedkiw
Example: Rigid Body Contact
Fedkiw
![Page 6: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/6.jpg)
6
Passive vs. Active Dynamics
Hodgins
Active Dynamics
• Motions� Physics� Controllers
• Behaviors� Learning
• Cognition� Planning
Funge99
How Do Worms/Snakes Move?
Grzeszczuk95
Worm Biomechanical Model
Grzeszczuk95
Worm Physics
� �=
=
−−=
fdtdtm
X
mfadt
dlDILkf
1
/
)( f = force along spring directionk = spring force constantD = damping forceI = current spring lengthL = minimum energy spring length
Miller88… plus forces due to friction with ground.
Eric the Dynamic Worm
Miller88
![Page 7: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/7.jpg)
7
Snake Motion
Grzeszczuk95
Her Majesty’s Secret Serpent
Miller89
Spring-Mass Model for Fish
Tu94
Hydrodynamic Locomotion
wii
ii
ii fw
dt
dx
dt
xdm =−+ς
2
2
Tu94
Swimming
Grzeszczuk95
“On the Run”
Raibert
![Page 8: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/8.jpg)
8
Animating Human Athletics
Hodgins
Animating Human Athletics
Hodgins
Learning Motions
Sims94
Learning Muscle Controllers
Grzeszczuk95
Learning to Swim
Grzeszczuk95
Evolved Virtual Creatures
Controllers
Mutations
Physics & Objective Sims94
![Page 9: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/9.jpg)
9
Evolved Virtual Creatures
Sims94
Multi-Level Controllers
Grzeszczuk95
Learning Complex Motions
Grzeszczuk95
Behavior
Blumberg95
Behavior
Blumberg95
Fish Behavior
Tu94
![Page 10: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/10.jpg)
10
Fish Behavior Controller
Tu94
Intention Generator
Tu94
Underwater World of JC
Tu94
Multi-Level Control
Blumberg95
Silas T. Dog
Blumberg
Silas T. Dog
Blumberg95
![Page 11: Dynamics1 Dynamics Thomas Funkhouser Princeton University C0S 426, Spring 2004 Kinematics and Dynamics • Kinematics Considers only motion Determined by positions, velocities, accelerations](https://reader036.fdocuments.us/reader036/viewer/2022063006/5fb735b03083292ac743a6f7/html5/thumbnails/11.jpg)
11
Duffy the Merman
Funge99
Summary
• Passive Dynamics� Particles� Collisions
• Active Dynamics� Motions
» Physics» Controllers
� Behaviors» Learning
� Cognition» Planning
Funge99