Transcript L13_Forces
Forces - basic physics
Gravity
Friction - static and kinetic
Viscosity
Springs (Hooke’s law)
Damping
Rick Parent - CIS682
Friction
Supporting object
Resting contact
Fs
F
FN
Normal force
Static friction
Fs usFN
Rick Parent - CIS682
Friction
Supporting object
Resting contact
Fk
F
FN
Normal force
Static friction
Kinetic friction
v
Fs usFN
Fk uk FN
Rick Parent - CIS682
Gravity
Gm1m 2
Fgravity
r2
aobject
F
mobject
Gmearth
2
2
32
ft
/s
9.8m
/s
2
rearth
Rick Parent - CIS682
Viscosity
Fv kv nv
kv - depends on shape of object
n - depends on properties of liquid
For spherical object:
kv 6r
Terminal velocity - viscosity and gravity balance
E.g., for sphere:
mg 6rnv
Rick Parent - CIS682
Springs (Hooke’s law)
Spring’s rest length: exerts zero force
Fspring kspring(x x rest )
x
xrest
F
x
F
Rick Parent - CIS682
Spring Mesh
Edges => springs
Internal springs to stabilize shape
Rick Parent - CIS682
Damping
Calm down spring oscillations
Fdamping kdampingv
F (x x rest )kspring vkdamping
Rick Parent - CIS682
Mass-Spring-Damper System
Define point masses
postion
velocity
mass
force
fixed?
Define springs
point 1
point 2
rest length
kspring
kdamper
Multiple time samples per frame?
Rick Parent - CIS682
Mass-Spring-Damper System
For each point
Initialize force with wind
For each spring
Calculate spring-damper force
spring.point1.force += force
spring.point2.force -= force
For each point
acc = gravity
acc += mass/force
newVel = velocity + acc*dt
position += dt*(velocity+newVelocity)/2
Velocity = newVelocity
Rick Parent - CIS682
Examples
1, 4, 16 time
samples per frame
Rick Parent - CIS682
Examples
Multiple connectivity; fixing
a node adding gravity and
wind
Rick Parent - CIS682
Examples
Adding damping;
making a flag
Use controlled
random numbers to
add interest
Rick Parent - CIS682
Randomize
Controlled randomness adds more interest
To initial values (positions, velocities)
To force fields (wind direction, wind speed)
To spring constants, masses
To joint angles
Proximal joints: lower amplitude
Distal joints: higher amplitude
Coordinate frequence and phase
Rick Parent - CIS682
Angular Springs
1) Use angles (cosine) between normals
2) Place a linear spring between ends of triangles
Rick Parent - CIS682
Constrain Forces (soft constraints)
F
F
F
Non-penetration
Fix to surface
Rick Parent - CIS682
Constrain Forces (soft constraints)
Rick Parent - CIS682