Paper Summaries

• Any takers? Dynamics I

Linear Motion

Projects Plan for today

• Proposals due Wednesday • Physics 101 for rigid body

• Project role call

Motivational Films Motivation Films

• Spotlight on • Two short films by Chris Wedge – Founder and Vice President of Creative Development at Blue Sky Studios • Director of – Before Blue Sky • Lead animator on (MAGI) • Student at Ohio State’s Advanced Computing Center for the Arts and Design (ACCAD).

1 Motivational Film Motivational Film

• Tuber’s Two Step (1985) • Bunny (1998) – Chris Wedge (while at ACCAD) – Bunny began as an effort to stretch the limits – Shown at SIGGRAPH 85 of the company's proprietary lighting software • First animated short to use Radiosity

Let’s get started Role of Animation

• Physics for Rigid Body Dynamics • Degrees of freedom • Today: Linear Motion – Number of parameters • Wednesday: Rotational Motion whose values must be • Winter Break defined in order to fully • Monday, January 5: Collisions position objects • Wednesday, January 7: Numerical Integration / Constraints „Purpose of animation „Provide values to each of the DOF for each time step.

Degrees of freedom Modeling Motion

• 60 sec animation • Most animation techniques employs some – Video: 30 frames / sec = 1800 frames sort of structured model for producing – Assume each object has 7 degrees of freedom motion. • x, y, z, s, v – Assume 5 objects – Need for some sort of procedure / set of rules. • (5 x 7 x 1800) = 63000 – Control vs. Flexibility – Need to determine the values of 63000 parameters to complete animation.

2 Modeling Motion Kinematics vs. Dynamics

• Three approaches – Kinematic control – Hueristics • Refers to motion of object irrespective of the forces • Rules of thumb, guidelines, cheap hacks involved • Keyframing, traditional cel animation • E.g. Keyframing – Simulation – Dynamic control • Use of physics • Concerned with computing the underlying forces •Dynamics which are then used to produce motion. – Sampling • Use of measured data •MoCap

Using Physics in Animation The Source: Sir Isaac Newton

• To achieve physically accurate motion, go • 1643-1727 to the source! • Discovered (amongst – Keyframing accurate physical motion is other things) tedious. – Calculus – Use dynamics – Physics of Light • Use physics to calculate motion – Physics of Motion – Removes control from animator!! • Busy Man – Motion is physically realistic.

Laws of Motion Terms

•Law I • For Linear Physical Motion – Every object in a state of uniform motion tends to remain in –Mass that state of motion unless an external force is applied to it. (Inertia) • Measure of the amount of matter in a body • From Law II: Measure of the a body’s resistance to motion • Law II: – The acceleration of a body is proportional to the resulting – Velocity force acting on the body, and this acceleration is in the same • Change of motion with respect to time direction as the force. – Acceleration • Law III: • Change of velocity with respect to time – For every action there is an equal and opposite reaction. –Force • In short, force is what makes objects accelerate

3 Terms Terms

• Mathematically defined • Said another way: – Velocity v = ds / dt s(t) = v(t)dt 2 2 ∫ s(t) = a(t)dt – Acceleration a = dv / dt = d s / dt ∫∫ –Force v(t) = ∫ a(t)dt F = ma F(t) a(t) = m • If we have force and mass, we can calculate motion.

Physical units Physical units

• You want physical motion, you need to use • Is weight == mass? physical units – Depends upon who you talk to • Our convention (used in Bourg book) Quantity English SI (Metric) – Mass = amount of matter in a body Mass slug (s) kilogram (kg) – Weight = Force resulting in acceleration due to gravity. Distance foot (ft) Meter (m) • g = 9.8 m / sec2 or 32 ft / sec2 Velocity ft / sec m / sec – Unambiguous in SI units – English units: slug = mass, pound = force Acceleration ft / sec2 m / sec2 Force pound (lb) Newton s • ft / sec2 kg• m / sec2

Vectors Center of Mass

• Note that all quantities mentioned (except • Definition for mass) are vector quantities – the location where all of the mass of the system – We are, after all, dealing in 3D motion could be considered to be located. – For homogenous solid bodies that have a symmetrical shape, the center of mass is at the center of body's symmetry, its geometrical center.

4 Initial value problems Projectile motion

• In order to animate an object, we need to • Shoot a projectile out of a cannon find s(t), for various values of t, given • Cannon is positioned at a given angle – Initial position of object – Initial velocity of object • No further acceleration except for gravity. – Initial acceleration of object – Forces applied to object

• All of the above are vector quantities

Projectile motion Recall

• analysis acceleration s(t) = ∫ v(t)dt s(t) = a(t)dt 2 v(t) = ∫ a(t)dt ∫∫

-g F(t) a(t) = m

Solving differential equations Analytic solution

• Means: • For constant acceleration problem – Analytically – Acceleration a = 0 a = −g – Numerically x y – Velocity v = v sinφ + a dt =v sinφ − gt vx = v0 cosφ y 0 ∫ y 0 – Position

1 2 x = x0 + vxdt = x0 + (v0 cosφ)t y = y + v dt = y + (v sinφ)t − gt ∫ 0 ∫ y 0 0 2

5 Analytic solution Analytic solution

• We now have equations of motion: • Let’s see this in action –Link

x(t) = x0 + (v0 cosφ)t 1 y(t) = y + (v sinφ)t − gt 2 0 0 2

Numerical Integration Leonard Euler

• Remember, integration required • 1707-1783 – We won’t always be fortunate enough to be able to • Studied: perform the integration using calculus – Number theory – Must code different equations for different motions. – Differential Equations • In animation, numerical integration is usually used – Newtonian Physics – Full discussion of Numerical Integration techniques – Rotational Motion after the break • Quick and dirty hack – Euler Integration – A busy man

Numerical Integration Euler Integration

Object properties • aka Method of Finite Differences Position, orientation Calculate forces Linear and angular velocity • Approximates a curve with a series of Linear and angular momentum straight lines corresponding to curve during mass a given ∆t • Uses tangent on the curve at a given point to guide the curve to the next point. Update object properties Calculate accelerations Using mass, momenta

6 Euler Integration Euler Integration

• Equations

F (ti+1) = F (ti) + F ‘ (ti)*∆t –x (t + ∆t) = x(t) + (v(t) ∆t) –v (t + t) = v(t) + (a(t) t) F ’ (ti) ∆ ∆

– Approximating x and v at time t + ∆t by using tangents at time t. F (ti)

Euler Integration Euler Integration

• Euler Integration is fast, intuitive, and easy • Questions? to code however, – It is also a very crude approximation to the integral • Break. – The smaller the ∆t, the better the solution. • Also, the more work that is required.

Cartoon Laws of Motion Rigid Body Simulation

• Animation Object properties Position, orientation Calculate forces Linear and angular velocity Linear and angular momentum mass

Update object properties Calculate accelerations Using mass, momenta

7 Force Useful forces

• F = ma •Gravity • a = F/m • Friction • From Force and mass you get acceleration • Impulse • Spring • Must consider the Sum of all forces •Wind (including rotational) • Add your own

Gravity Gravity

• Gravity is an attractive force between all pairs of massive objects in the universe. • For objects interacting on this earth, the • The gravitational force between two objects is given by a (fairly) acceleration due to gravity can be calculated simple mathematical equation. using the radius of the earth. m1m2 – g = 9.8 m / sec2 F = G 2 r – g = 32 ft / sec2 • Where

– m1 and m2 are the masses of the two objects – r is the distance between the two objects – This acceleration is always towards the earth’s – G is the universal gravity constant = 6.67 x 10-11 Nm2 / kg2 surface.

Friction Friction

• Arises from interaction of surfaces in • Static Friction contact. – For objects not in motion – Fraction of the normal component of force • Always works against the direction of – Amount of force need to get object from rest moving relative motion of two objects. • Kinetic friction – For objects in motion – Fraction of the normal component of force – Amount of resistance due to friction

8 Static Friction Kinetic Friction

Supporting object Supporting object

Fk v Fs Resting contact Resting contact F F Normal force FN Normal force FN

Static friction Fs = us * FN

Kinetic friction Fk = uk * FN

Friction Impulse

Surfaces us uk • Law III: Dry glass on glass 0.94 0.4 – For every action there is an equal and Dry iron on iron 1.1 0.15 opposite reaction. Dry rubber on pavement 0.55 0.4 Dry steel on steel 0.78 0.42 • Impulse is the equal and opposite reaction after a collision Dry Teflon on Teflon 0.04 0.04 Dry wood on wood 0.38 0.2 Ice on Ice 0.1 0.03 • More when we talk about collisions Oiled steel on steel 0.1 0.08

Springs Springs

• Force applied by stretching a • Hooke’s Law spring. –F = -kx • Given by Hooke’s Law – k = spring constant – restoring force due to a spring is •Given in N/m proportional to the length that the • Large k – stronger springs spring is stretched • Small k – looser springs – acts in the opposite direction. – F = -kx

9 Springs Springs

• Damping • Damping

– Decreases spring force proportional to velocity – Damping specified by damping coefficient, kd – Damping and Springs

⎛ dx ⎞ F = −kx − ⎜kd ⎟ ⎝ dt ⎠

Springs Wind

• Useful for: • Define a force field – Simulate collections of connected particles or – Force varies in space and time rigid bodies • Example: cloth, paper, etc. – Wind, turbulence – – Damping required to make solutions “stable” • See Wejchert paper in Wednesday’s READING – Can also be used in collision detection (impulse LIST forces)

Add your own Summary

• Most difficult part is mathematically • Using physics removes control from describing the force animator – Dynamics vs. Kinematics • Physics for game development book has a • Force -> Acceleration -> Velocity -> bunch Position • We are doing numerical integration here.

10 Summary Next Time

Object properties • Rotational Motion Position, orientation Calculate forces Linear and angular velocity Linear and angular momentum • Please get proposals in next class. mass

• Questions? Update object properties Calculate accelerations Using mass, momenta

11