1 / 23

Rigid Body Dynamics simulate basic physics of an object subject to forces

Rigid Body Dynamics simulate basic physics of an object subject to forces. Keyframing can be tedious - especially to get ‘realism’. Simulate physics by - programming equations of motions - setting initial conditions. Animator gives up control.

ggranger
Download Presentation

Rigid Body Dynamics simulate basic physics of an object subject to forces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rigid Body Dynamics simulate basic physics of an object subject to forces Keyframing can be tedious - especially to get ‘realism’ Simulate physics by - programming equations of motions - setting initial conditions Animator gives up control Animator gets ‘realistic’ motion automatically.

  2. Calculate forces Update object properties Calculate accelerations Using mass, momenta Siimulation Update Cycle Object properties Position, orientation Linear and angular velocity Linear and angular momentum mass

  3. Object under Forces • Forces • Gravity • Wind • Springs • Collision avoidance • Soft constraints Calculate acceleration due to forces Calculate update to object velocity & position

  4. Object under Linear Force Given: force, f(t), gives rise to acceleration, a(t), or Use a(t) to update current state of point mass: x(t), v(t)

  5. Equations of Motion Linear force Angular force: torque Linear momentum Angular momentum Conserved in a closed system Resistance to linear force: mass Resistance to angular force: inertia tensor.

  6. Represent angular velocity with vector: w(t) - direction is axis of rotation - magnitude is speed of rotation Rotational Movement Represent orientation with rotation matrix: R(t) Angular velocity insensitive to distance from center or rotation

  7. Rotational Movement w(t) - angular velocity w(t) r(t) - position of a relative to b b - point on axis of rotation q - angle r(t) makes with axis of rotation r (t) q b

  8. Rotational Movement R(t) - rotation matrix representing the orientation of a rigid body Columns are vectors to positions a unit length on principle axis Change in rotation matrix can be computed by taking cross product of w(t) with each column

  9. Rotational Movement Define the following for notational convenience to define cross product as a matrix operation:

  10. Velocity of a Point q - original position of point in rigid body x(t) - position of rigid body v(t) - velocity of rigid body q(t) – time-dependent position of point in rigid body

  11. Center of Mass Object’s “position” is the position of its center of mass Integration of differential mass times position in object Approximate by summing over representational particles in object Mass is the object’s resistance to a change in velocity

  12. Force and Torque Force on center of mass results in linear acceleration F F Force off-center of mass is torque and creates angular acceleration - what is angular mass?

  13. But first…Linear Momentum Mass times velocity Sum over all particles of object Use total mass for linear momentum Change in (linear) momentum is equal to force

  14. Angular Momentum - measure of rotating mass weighted by its distance from the axis of rotation Relative position of particle Relative velocity of particle mass Factor out mass

  15. Angular Momentum Define Inertia Tensor, I(t), that captures distribution of mass Similar to the linear case, the change in Angular Momentum is equal to torque

  16. Inertia Tensor - object’s resistance to a change in rotational velocity

  17. Inertia Tensor

  18. Inertia Tensor for a Cuboid 0 M (b2 + c2) 0 1 M (a2 + c2) 0 0 12 0 0 M (a2 + b2)

  19. x (t) R (t) S (t) = P (t) L (t) Finally, the Equations - State vector Update with velocity Update with angular velocity Update with force Update with torque Given: S(t), M, Iobject

  20. Update State Vector

  21. Update Orientation - options R(t) += w (t) * R(t) and re-orthonormalize Extract axis-angle from w (t) and rotate columns of R(t) Use quaternions to rotate quaternion version of R(t)

  22. Now, what about collisions?

More Related