Lecture 226.837 Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions.

Slides:



Advertisements
Similar presentations
Physics 430: Lecture 21 Rotating Non-Inertial Frames
Advertisements

Physics 430: Lecture 24 Euler Equations Dale E. Gary NJIT Physics Department.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
PLANAR RIGID BODY MOTION: TRANSLATION & ROTATION
Chris Hall Aerospace and Ocean Engineering
Dynamics of Rotational Motion
Chapter 10 Angular momentum Angular momentum of a particle 1. Definition Consider a particle of mass m and linear momentum at a position relative.
1Notes  Demetri Terzopoulos talk: Thursday, 4pm Dempster 310.
Course Outline 1.MATLAB tutorial 2.Motion of systems that can be idealized as particles Description of motion; Newton’s laws; Calculating forces required.
Ch. 7: Dynamics.
Game Physics Chris Miles. The Goal To learn how to create game objects with realistic physics models To learn how to simulate aspects of reality in order.
Department of Physics and Applied Physics , F2010, Lecture 21 Physics I LECTURE 21 11/24/10.
Ch. 4: Velocity Kinematics
AAE 666 Final Presentation Spacecraft Attitude Control Justin Smith Chieh-Min Ooi April 30, 2005.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Physics 106: Mechanics Lecture 02
Physics 106: Mechanics Lecture 06 Wenda Cao NJIT Physics Department.
Computer graphics & visualization Rigid Body Simulation.
Velocities and Static Force
Spring Topic Outline for Physics 1 Spring 2011.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Game Physics – Part IV Moving to 3D
T. K. Ng, HKUST Lecture IV. Mechanics of rigid bodies.
Chapter 11 Angular Momentum. The Vector Product There are instances where the product of two vectors is another vector Earlier we saw where the product.
Chapter 10 Rotation of a Rigid Object about a Fixed Axis.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
Monday, June 25, 2007PHYS , Summer 2007 Dr. Jaehoon Yu 1 PHYS 1443 – Section 001 Lecture #14 Monday, June 25, 2007 Dr. Jaehoon Yu Torque Vector.
Computer Animation III
Rigid Body Motion. Game Physics “Linear physics”– physics of points –particle systems, ballistic motion… –key simplification: no orientation “Rotational.
AP Physics C: Mechanics Chapter 11
Numerical Integration and Rigid Body Dynamics for Potential Field Planners David Johnson.
Chapter 10 Rotation.
Lecture Fall 2002 Computer Animation III Quaternions Dynamics Some slides courtesy of Leonard McMillan and Jovan Popovic.
Sect 5.6: Torque-Free Motion of a Rigid Body
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Particle Systems.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Physics for Games Spring 2012.
Chapter 11 Angular Momentum. Angular momentum plays a key role in rotational dynamics. There is a principle of conservation of angular momentum.  In.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
Abj 4.2.2: Pressure, Pressure Force, and Fluid Motion Without Flow [Q2 and Q3] Area as A Vector Component of Area Vector – Projected Area Net Area.
1 Work in Rotational Motion Find the work done by a force on the object as it rotates through an infinitesimal distance ds = r d  The radial component.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Rigid Body Dynamics CSE169: Computer Animation
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
Chapter 11 Angular Momentum. The Vector Product and Torque The torque vector lies in a direction perpendicular to the plane formed by the position vector.
Rick Parent - CIS682 Rigid Body Dynamics simulate basic physics of an object subject to forces Keyframing can be tedious - especially to get ‘realism’
Wednesday, Nov. 10, 2004PHYS , Fall 2004 Dr. Jaehoon Yu 1 1.Moment of Inertia 2.Parallel Axis Theorem 3.Torque and Angular Acceleration 4.Rotational.
Chapter 11 Angular Momentum; General Rotation 11-2 Vector Cross Product; Torque as a Vector 11-3Angular Momentum of a Particle 11-4 Angular Momentum and.
Central Force Umiatin,M.Si. The aim : to evaluate characteristic of motion under central force field.
Sect. 4.9: Rate of Change of a Vector Use the concept of an infinitesimal rotation to describe the time dependence of rigid body motion. An arbitrary.
SPECIAL THEORY OF RELATIVITY. Inertial frame Fig1. Frame S’ moves in the +x direction with the speed v relative to frame S.
INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 1)
Dynamics. Motion with Regard to Mass Particle Dynamics Mass concentrated in point Newton’s Equation Governs Motion f = M x.
Monday, Nov. 4, 2002PHYS , Fall 2002 Dr. Jaehoon Yu 1 PHYS 1443 – Section 003 Lecture #14 Monday, Nov. 4, 2002 Dr. Jaehoon Yu 1.Parallel Axis Theorem.
Wednesday, Oct. 29, 2003PHYS , Fall 2003 Dr. Jaehoon Yu 1 PHYS 1443 – Section 003 Lecture #17 Wednesday, Oct. 29, 2002 Dr. Jaehoon Yu 1.Rolling.
Chapter 17 Rigid Body Dynamics. Unconstrained Motion: 3 Equations for x, y, rotation.
Honours Graphics 2008 Session 9. Today’s focus Physics in graphics Understanding:
Fundamentals of Computer Animation Rigid Body Simulation (1)
PHY 151: Lecture 7A 7.1 System and Environments 7.2 Work Done by a Constant Force 7.3 Scalar Product of Two Vectors 7.4 Work Done by a Varying Force 7.5.
1 Angular Momentum Chapter 11 © 2012, 2016 A. Dzyubenko © 2004, 2012 Brooks/Cole © 2004, 2012 Brooks/Cole Phys 221
MEC 0011 Statics Lecture 4 Prof. Sanghee Kim Fall_ 2012.
Mathematics for Game Programming (1)3 인칭 카메라 (2)Particle dynamics (3)quaternion.
ECE 383 / ME 442 Fall 2015 Kris Hauser
Kinetics of Particles: Newton’s Second Law
Manipulator Dynamics 1 Instructor: Jacob Rosen
Lecture Rigid Body Dynamics.
Lecture 16 Newton Mechanics Inertial properties,Generalized Coordinates Ruzena Bajcsy EE
Manipulator Dynamics 2 Instructor: Jacob Rosen
Rigid Body Dynamics (unconstrained)
Physics 319 Classical Mechanics
Presentation transcript:

Lecture Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions

Lecture 22Slide Fall 2001 Particle A single particle in 2-D moving in a flow field Position Velocity The flow field function dictates particle velocity

Lecture 22Slide Fall 2001 Vector Field The flow field g(x,t) is a vector field that defines a vector for any particle position x at any time t. How would a particle move in this vector field?

Lecture 22Slide Fall 2001 Differential Equations The equation v = g(x, t) is a first order differential equation: The position of the particle is computed by integrating the differential equation: For most interesting cases, this integral cannot be computed analytically.

Lecture 22Slide Fall 2001 Numeric Integration Instead we compute the particle’s position by numeric integration: starting at some initial point x(t 0 ) we step along the vector field to compute the position at each subsequent time instant. This type of a problem is called an initial value problem.

Lecture 22Slide Fall 2001 Euler’s Method Euler’s method is the simplest solution to an initial value problem. Euler’s method starts from the initial value and takes small time steps along the flow: Why does this work? Let’s look at a Taylor series expansion of function x(t): Disregarding higher-order terms and replacing the first derivative with the flow field function yields the equation for the Euler’s method.

Lecture 22Slide Fall 2001 Other Methods Euler’s method is the simplest numerical method. The error is proportional to. For most cases, the Euler’s method is inaccurate and unstable requiring very small steps. Other methods: Midpoint (2 nd order Runge-Kutta) Higher order Runge-Kutta (4 th order, 6 th order) Adams Adaptive Stepsize

Lecture 22Slide Fall 2001 Particle in a Force Field What is a motion of a particle in a force field? The particle moves according to Newton’s Law: The mass m of a particle describes the particle’s inertial properties: heavier particles are easier to move than lighter particles. In general, the force field f(x, v, t) may depend on the time t and particle’s position x and velocity v.

Lecture 22Slide Fall 2001 Second-Order Differential Equations Newton’s Law yields an ordinary differential equation of second order: A clever trick allows us to reuse the same numeric differentiation solvers for first-order differential equations. If we define a new phase space vector y, which consists of particle’s position x and velocity v, then we can construct a new first-order differential equation whose solution will also solve the second-order differential equation.

Lecture 22Slide Fall 2001 Particle Systems How would we compute the motion of a particle system consisting of n particles? Concatenating the phase space positions of all n particles yields a large first-order ordinary differential equation. For particles in 3-D, there will be 6n equations (3 equations for position and 3 equations for velocity of each particle):

Lecture 22Slide Fall 2001 Particle Animation AnimateParticles(n, y 0, t 0, t f ) { y = y 0 t = t 0 DrawParticles(n, y) while(t != t f ) { f = ComputeForces(y, t) dydt = AssembleDerivative(y, f) {y, t } = ODESolverStep(6n, y, dy/dt) DrawParticles(n, y) }

Lecture 22Slide Fall 2001 Rigid-Body Dynamics We could compute the motion of a rigid-body by computing the motion of all constituent particles. However, a rigid body does not deform and position of few of its particles is sufficient to determine the state of the body in a phase space. We’ll start with a special particle located at the body’s center of mass.

Lecture 22Slide Fall 2001 Rigid-Body Equation of Motion The equation of motion describes the dynamics of a rigid body: the motion of a body subjected to external forces. We already know how to write a portion of this coupled first-order differential equation:

Lecture 22Slide Fall 2001 Net Force

Lecture 22Slide Fall 2001 Rest of the State If we knew the orientation of the body, we could compute the position of any body point. Let’s represent the orientation with a rotation matrix R(t). A point p b in body coordinates is transformed to world coordinates with the following equation: The last component is the rate of change of the rotation matrix, which we’ll call angular velocity ω(t).

Lecture 22Slide Fall 2001 Angular Velocity Angular velocity is a vector ω(t) that encodes both the axis of rotation (with its direction) and the speed of rotation (with its speed)*. How are the orientation matrix R(t) and the angular velocity ω(t) related? The obvious relationship is not sensible: *This may sound like a quaternion but be careful any vector ω with magnitude 2π would represent identical orientation. That’s a singularity.

Lecture 22Slide Fall 2001 Rotation Matrix The columns of the rotation matrix describe the world-space directions of the body-space coordinate axes. If we can determine the rate of change of an arbitrary body vector then we can apply the sample equation to compute the rate of change of each column in the rotation matrix.

Lecture 22Slide Fall 2001 Velocity of Body Vector The tip of the vector r moves with the speed of |ω(t)||b| and the direction of the velocity vector is perpendicular to the radius b and the axis of rotation ω(t). Therefore, we can write the velocity vector as the cross product between the angular velocity ω(t) and the radius vector b. Because the vectors ω(t) and a are collinear, we can rewrite the velocity as a function of angular velocity ω(t) and the original vector r(t).

Lecture 22Slide Fall 2001 Angular Velocity and Orientation The orientation rate of change and the angular velocity are related by applying the same formula on each column of the rotation matrix. We introduce a special operator to make the expression shorter to write.

Lecture 22Slide Fall 2001 Rigid-Body Equation of Motion Need to relate rate of change of angular velocity to applied forces. This term must depend on the mass distribution.

Lecture 22Slide Fall 2001 Inertia Tensor diagonal termsoff-diagonal terms

Lecture 22Slide Fall 2001 Rigid-Body Equation of Motion

Lecture 22Slide Fall 2001 Net Torque

Lecture 22Slide Fall 2001 Simulations with Collisions Simulating motions with collisions requires that we detect them (collision detection) and fix them (collision response).

Lecture 22Slide Fall 2001 Collision Detection Plane-Particle collision can be detected by computing the signed-distance function between the boundary and the particle. In this example, collision detection is deceptively simple. Fast collision detection between many curved surface is a difficult problem. Detecting collisions between deformable surfaces is even harder.

Lecture 22Slide Fall 2001 Collision Response The mechanics of collisions are complicated and many mathematical models have been developed. We’ll just look at a one simple model, which assumes that when the collision occurs the two bodes exchange collision impulse instantaneously.

Lecture 22Slide Fall 2001 Frictionless Collision Model

Lecture 22Slide Fall 2001 Animation Animate(y 0, t 0, t f ) { y = y 0 t = t 0 Draw(y) while(t != t f ) { if (Collision(y)) { t = CollisionTime(y) y = ApplyImpulse(y) } f = ComputeForces(y, t) dydt = AssembleDerivative(y, f) {y, t } = ODESolverStep(y, dy/dt) Draw(y) }

Lecture 22Slide Fall 2001 Animation Design Suppose we’d like to animate a hat flying through the air and landing on a coatrack. We can compute the hat’s motion by techniques described in this lecture, but this won’t be enough. We also have to discover what initial position and velocity will result in the hat landing on the coatrack.

Lecture 22Slide Fall 2001 Next Time Controlling Animation