CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.

Slides:



Advertisements
Similar presentations
Angular Quantities Correspondence between linear and rotational quantities:
Advertisements

Chapter 11 Angular Momentum; General Rotation
Rigid Body Dynamics Jim Van Verth
Kinetics of Particles Impulse and Momentum.
Chapter 9 Rotational Dynamics.
Physics: Principles with Applications, 6th edition
Rotational Dynamics and Static Equilibrium. Torque From experience, we know that the same force will be much more effective at rotating an object such.
Dynamics of Rotational Motion
 Angular speed, acceleration  Rotational kinematics  Relation between rotational and translational quantities  Rotational kinetic energy  Torque 
© 2005 Pearson Prentice Hall This work is protected by United States copyright laws and is provided solely for the use of instructors in teaching their.
Color Problem Have a black-box function that returns a bright color in 24-bit RGB Want a paler version of the output What to do?
1Notes  Demetri Terzopoulos talk: Thursday, 4pm Dempster 310.
Ch. 7: Dynamics.
1cs533d-winter-2005 Notes  Assignment 2 going okay? Make sure you understand what needs to be done before the weekend  Read Guendelman et al, “Nonconvex.
Euler Rotation. Angular Momentum  The angular momentum J is defined in terms of the inertia tensor and angular velocity. All rotations included  The.
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
Manipulator Dynamics Amirkabir University of Technology Computer Engineering & Information Technology Department.
Computer graphics & visualization Rigid Body Simulation.
Computer graphics & visualization Collision Detection – Narrow Phase.
Work Let us examine the work done by a torque applied to a system. This is a small amount of the total work done by a torque to move an object a small.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Game Physics – Part IV Moving to 3D
Chapter 11 Angular Momentum.
Chapters 10, 11 Rotation and angular momentum. Rotation of a rigid body We consider rotational motion of a rigid body about a fixed axis Rigid body rotates.
Chapter 10 Rotation of a Rigid Object about a Fixed Axis.
Dynamics.  relationship between the joint actuator torques and the motion of the structure  Derivation of dynamic model of a manipulator  Simulation.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
3D Graphics for Game Programming Chapter XII Physics-based Simulation.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Copyright © 2010 Pearson Education, Inc. Lecture Outline Chapter 11 Physics, 4 th Edition James S. Walker.
AP Physics C: Mechanics Chapter 11
Angular Momentum; General Rotation
Questions From Reading Activity? Big Idea(s):  The interactions of an object with other objects can be described by forces.  Interactions between.
Lecture Fall 2001 Physically Based Animation Ordinary Differential Equations Particle Dynamics Rigid-Body Dynamics Collisions.
Chapter 8 Rotational Motion.
Chapter 10 Rotational Motion.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
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.
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.
NM Unit 8 Topic(s): Angular Momentum Learning Goals: Adapt linear collision analysis for rotational collision analysis Develop a solution strategy to solve.
Rigid Body Dynamics CSE169: Computer Animation
Physics 3210 Week 11 clicker questions. Multiplication of a vector by a matrix A is a linear transformation What happens to an eigenvector of A under.
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.
Dynamics. Motion with Regard to Mass Particle Dynamics Mass concentrated in point Newton’s Equation Governs Motion f = M x.
Honours Graphics 2008 Session 9. Today’s focus Physics in graphics Understanding:
Fundamentals of Computer Animation Rigid Body Simulation (1)
UNIT 6 Rotational Motion & Angular Momentum Rotational Dynamics, Inertia and Newton’s 2 nd Law for Rotation.
Plane Dynamics of Rigid Bodies
Fundamentals of Computer Animation Collision Detection and Response.
Physically Based Simulations For Games
Manipulator Dynamics 1 Instructor: Jacob Rosen
PHYS 1443 – Section 003 Lecture #18
Lecture Rigid Body Dynamics.
Lecture 16 Newton Mechanics Inertial properties,Generalized Coordinates Ruzena Bajcsy EE
Chapter 8 Rotational Motion
Rolling, Torque, and Angular Momentum
Physics: Principles with Applications, 6th edition
Manipulator Dynamics 2 Instructor: Jacob Rosen
Chapter 8 Rotational Motion.
Lecture Outline Chapter 11 Physics, 4th Edition James S. Walker
Lecture Outline Chapter 11 Physics, 4th Edition James S. Walker
Rigid Body Dynamics (unconstrained)
Physics: Principles with Applications, 6th edition
Computer Animation Algorithms and Techniques
Presentation transcript:

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Rigid Bodies Rigid bodies have both a position and orientation Rigid bodies assume no object deformation Rigid body motion is represented by 2 parameters - center of mass - orientation (rotation matrix)

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Rigid Bodies Objects are defined in body space and transformed by the position and orientation into world space

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Linear Velocity The change of the center of mass over time For a pure translation ( constant), all points move with velocity

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Angular Velocity The change in orientation over time Encodes both the axis and speed of the rotation  direction encodes the axis  magnitude encodes the speed (rad/s) But, how are and related?

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Angular Velocity For a given vector The columns of represent the transformed axes

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer We can represent the cross product with a matrix Angular Velocity Therefore

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Since a point can be represented at any time by Velocity of a Point Total velocity can then be expressed as Which can be rewritten as

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer We can apply forces to the object at any point Force Total force on an object is simply No information about where the forces are applied

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Torque describes the “rotational force” Torque Total torque on an object is simply Tells us about the force distribution over the object

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Linear momentum of a particle is Linear Momentum Linear momentum of a rigid body is then density integration over the body

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Linear momentum can be simplified as follows Linear Momentum Assuming constant mass gives

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Angular momentum of a rigid body Angular Momentum Taking the time derivative inertia tensor Angular momentum is conserved for no torque

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Describes how mass is distributed in the body Inertia Tensor Analogous to mass in linear velocity Measures the preferred axis of rotation Expensive to compute this at every time step

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Rewrite the tensor as Inertia Tensor Integrals can now be precomputed

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Combining the equations Rigid Body Equations of Motion Discretize these continuous equations and integrate

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Use quaternions to represent orientation Using Quaternions The update rule is then

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Using quaternions gives Rigid Body Equations of Motion Discretize these continuous equations and integrate

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer So far, no interaction between rigid bodies Collisions and Contact Collision detection – determining if, when and where a collision occurs Collision response – calculating the state (velocity, …) after the collision

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer What should we do when there is a collision? Collisions and Contact

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Restart the simulation at the time of the collision Rolling Back the Simulation Collision time can be found by bisection, etc.

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Exploit coherency through witnessing Collision Detection Speed up with bounding boxes, grids, hierarchies, etc. separating plane Two convex objects are non-penetrating iff there exists a separating plane between them First find a separating plane and see if it is still valid after the next simulation step

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Conditions for collision Collision Detection separatingcontactcolliding

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Soft Body Collision Collision Force is applied to prevent interpenetration

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Soft Body Collision Collision Apply forces and change the velocity

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Harder Collision Collision Higher force over a shorter time

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Rigid Body Collision Collision Impulsive force produces a discontinuous velocity

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer We need to change velocity instantaneously Impulse Infinite force in an infinitesimal time An impulse changes the velocity as or

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer An impulse also creates an impulsive torque Impulse The impulsive torque changes the angular velocity or

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer For a frictionless collision Impulse But how do we calculate ?

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer For a frictionless collision Impulse Given this equation and knowing how affects the linear and angular velocities of the two bodies, we can solve for

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Bodies are neither colliding nor separating Resting Contact We want a force strong enough to resist penetration but only enough to maintain contact

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer We want to prevent interpenetration Resting Contact Since we should keep it from decreasing Describes the objects’ acceleration towards one another

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Contact forces only act in the normal direction Resting Contact Contact forces should  avoid interpenetration  be repulsive workless force  become zero if the bodies begin to separate

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer The relative accelerations can be written in terms of all of the contact forces Resting Contact So we can simply solve a Quadratic Program to find the solution to all the constraints

CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Algorithm with collisions and contact Simulation Algorithm compute new statedetect collisions and backtrack compute and apply impulses compute and apply constraint forces current state next state collision state post-collision state