Last Time? • Navier-Stokes Equations • Conservation of Inverse Kinematics Momentum & Mass • Incompressible Flow

Today Keyframing

• How do we animate? • Use spline curves to automate the in betweening – Keyframing – Good control – Less tedious than drawing every frame – Procedural • Creating a good animation still requires considerable – Physically-Based Animation skill and talent – Forward and Inverse Kinematics –

• Rigid Body Dynamics • Finite Element Method

ACM © 1987 “Principles of applied to 3D

Procedural Animation Physically-Based Animation

• Describes the motion algorithmically, • Assign physical properties to objects as a function of small number of (masses, forces, inertial properties) parameters • Example: a clock with second, minute • Simulate physics by solving equations and hour hands • Realistic but difficult to control – express the clock motions in terms of a “seconds” variable – the clock is animated by varying the v0 seconds parameter mg • Example: A bouncing ball -kt –Abs(sin(ωt+θ0))*e

1 Articulated Models Skeleton Hierarchy

• Articulated models: • Each bone transformation

– rigid parts described relative xyzhhhhhh,,,,,qf s

– connected by joints to the parent in hips

the hierarchy: qfttt,, s • They can be animated by specifying the joint left-leg ... angles as functions of time. r-thigh

qc qi qi ()t r-calf y

vs qfff, x r-foot z

t1 t2 t1 t2 1 DOF: knee 2 DOF: wrist 3 DOF: arm

Forward Kinematics Inverse Kinematics (IK)

• Given skeleton xyzhhhhhh,,,,,qf s • Given the position of the parameters p, effecter in local coordinates Vs xyzhhhhhh,,,,,qf s qf,, s and the position ttt and the desired position V w qf,, s of the effecter in in world coordinates, what ttt local coordinates V , s qc are the skeleton parameters p? q what is the position y c of the effector in the • Much harder requires solving vs v x , s V world coordinates Vw? qfff the inverse of the non-linear qfff, s z function: Vw

Vw = T(xh,yh,zh)R(qh,fh,sh)ThR(qt,ft,st)TtR(qc)TcR(qf,ff)Vs Vw = S(p)Vs find p such that S(p)Vs = Vw

Under-/Over- Constrained IK Searching Configuration Space

No solutions • Application: Robot pose space shaded by distance to target Motion Planning

Many solutions Two solutions (2D) •Use gradient descent One solution to walk from starting configuration to target • Angle restrictions & collisions can introduce local minima

“The good-looking textured light-sourced bouncy fun smart and stretchy page” “The good-looking textured light-sourced bouncy fun smart and stretchy page” Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik.htm Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik2.htm

2 IK Challenge Motion Capture

• Find a “natural” skeleton configuration for a • Optical markers, given collection of pose constraints high-speed cameras, •A vector constraint function C(p) = 0 triangulation collects all pose constraints → 3D position •A scalar objective function g(p) measures the • Captures style, subtle nuances and realism quality of a pose, g(p) is minimum for most • You must observe someone do something natural poses. Example g(p): – deviation from natural pose – joint stiffness – power consumption

How do they Animate Movies/Games? Questions?

• Keyframing mostly • Articulated figures, inverse kinematics, motion capture • Skinning – Complex deformable skin, muscle, skin motion • Hierarchical controls – Smile control, eye blinking, etc. – Keyframes for these higher-level controls • A huge time is spent building the 3D models, its skeleton and its controls • Physical simulation for secondary motion – Hair, cloth, water

Images from the Maya tutorial

Reading for Today: What’s a Natural Pose?

• “Synthesis of Complex Dynamic Character Motion • Training database of ~50 “natural poses” from Simple Animation”, Liu & Popović, 2002. • For each, compute center of mass of: – Upper body –Arms – Lower body • The relative COM of each generated pose is matched • Rapid prototyping of realistic character motion to most the most similar from rough low-quality database example • Obey the laws of physics & stay within space of naturally-occurring movements Liu & Popović

3 Linear and Angular Momentum During Constrained Motion

• In unconstrained animation (no contacts), both • During constrained motion (when in contact with linear & angular momentum should be conserved the ground), the angular momentum follows a spline curve modeled after biomechanics data • The center of mass should

follow a parabolic unconstrained trajectory according to gravity unconstrained • The joints should move such that the angular momentum of the whole body remains constant Liu & Popović Liu & Popović constrained

System Features Questions?

• Automatically detect point/line/plane constraints • Divide animation into constrained portions (e.g., feet in contact with ground) and unconstrained portions (e.g., free flight) • Linear and angular momentum constraints without having to compute muscle forces • Minimize: – Mass displacement – Velocity of the degrees of freedom (DOF) – “Unbalance” (distance the COM projected to ground is outside of constraints)

Today Rigid Body Dynamics

• How do we animate? • Could use particles for all points on the object – Keyframing – But rigid body does not deform – Procedural Animation – Few degrees of freedom f1(t) – Physically-Based Animation • Use only one f (t) v(t) – Forward and Inverse Kinematics particle at the 2 – Motion Capture center of mass x(t) • Compute Net Torque f3(t) • Rigid Body Dynamics Net Force & Net Torque • Finite Element Method Net Force

Nice Reference Material: http://www.pixar.com/companyinfo/research/pbm2001/

4 Rigid Body Dynamics Simulation of Non-Rigid Objects

• Physics • We modeled string & cloth using mass-spring – Velocity systems. Can we do the same? – Acceleration •Yes… – Angular • But a more physically accurate model uses Momentum volumetric elements: • Collisions • Friction

from: Darren Lewis http://www-cs-students.stanford.edu/~dalewis/cs448a/rigidbody.html

See also: http://www.myphysicslab.com/collision.html Image from O’Brien et al. 1999

Strain & Stress Finite Element Method

•Stress • To solve the continuous problem – the internal distribution of (deformation of all points of the object) forces within a body that – Discretize the problem balance and react to the – Express the interrelationship loads applied to it – Solve a big linear system – normal stress & shear stress • More principled than Mass-Spring •Strain http://en.wikipedia.org/wiki/Image:Stress_tensor.png – material deformation caused by stress. – measured by the change in length of a line or by the change in angle between two lines object finite elements large matricial system Diagram from Debunne et al. 2001

Reading for Friday 2/15: • James O’Brien & Jessica Hodgins “Graphical Modeling and Animation of Brittle Fracture” SIGGRAPH 1999.

• Post a comment or question on the LMS discussion by 10am on Friday 2/15

5