Академический Документы
Профессиональный Документы
Культура Документы
Andrew Witkin
Carnegie Mellon University
f(x,x,t)
x= m
{
Add a new variable, v, to get
x =v a pair of coupled 1st order
v =fm equations.
x Position Position in
Phase Space
v Velocity
f Force Accumulator
m mass
x Dim(state)
6
v x
f Get/Set State v
m v
Deriv Eval fm
particles n time
x x x x x x
v v v v v v
f f f f f … f
m m m m m m
Dim(State)
Get/Set State Diffeq Solver
6n
Deriv Eval x1 v1 x2 v2 xn vn
f1 v f2
v1 m fn
vn m
2 m
1 2 n
• Constant gravity
• Position/time dependent force fields
• Velocity-Dependent drag
• n-ary springs
x x x F F F …F
v v v
f f … f A list of force
m m m
objects to invoke
x
p1 kd sys F
v x
f v ks apply_fun
m
p2
f
m
x x x 3
v v v
f f … f Return [v, f/m,…]
m m m to solver.
Dim(state) Solver
System
Get/Set State
You are
Here
Deriv Eval
VN
V VT
N
V N = (N⋅V)N
VT = V - VN
X ( X - P) ⋅N < ε
V N⋅V < 0
VN -krV N
VT VT V′
V
Before After
V′ = V T - k rV N
P • On the wall
N
• Moving along the wall
• Pushing against the wall
N (An example of a
constraint force.)