🗊Презентация Fast and Simple Physics using Sequential Impulses

Категория: Физика
Нажмите для полного просмотра!
Fast and Simple Physics using Sequential Impulses, слайд №1Fast and Simple Physics using Sequential Impulses, слайд №2Fast and Simple Physics using Sequential Impulses, слайд №3Fast and Simple Physics using Sequential Impulses, слайд №4Fast and Simple Physics using Sequential Impulses, слайд №5Fast and Simple Physics using Sequential Impulses, слайд №6Fast and Simple Physics using Sequential Impulses, слайд №7Fast and Simple Physics using Sequential Impulses, слайд №8Fast and Simple Physics using Sequential Impulses, слайд №9Fast and Simple Physics using Sequential Impulses, слайд №10Fast and Simple Physics using Sequential Impulses, слайд №11Fast and Simple Physics using Sequential Impulses, слайд №12Fast and Simple Physics using Sequential Impulses, слайд №13Fast and Simple Physics using Sequential Impulses, слайд №14Fast and Simple Physics using Sequential Impulses, слайд №15Fast and Simple Physics using Sequential Impulses, слайд №16Fast and Simple Physics using Sequential Impulses, слайд №17Fast and Simple Physics using Sequential Impulses, слайд №18Fast and Simple Physics using Sequential Impulses, слайд №19Fast and Simple Physics using Sequential Impulses, слайд №20Fast and Simple Physics using Sequential Impulses, слайд №21Fast and Simple Physics using Sequential Impulses, слайд №22Fast and Simple Physics using Sequential Impulses, слайд №23Fast and Simple Physics using Sequential Impulses, слайд №24Fast and Simple Physics using Sequential Impulses, слайд №25Fast and Simple Physics using Sequential Impulses, слайд №26Fast and Simple Physics using Sequential Impulses, слайд №27Fast and Simple Physics using Sequential Impulses, слайд №28Fast and Simple Physics using Sequential Impulses, слайд №29Fast and Simple Physics using Sequential Impulses, слайд №30Fast and Simple Physics using Sequential Impulses, слайд №31Fast and Simple Physics using Sequential Impulses, слайд №32Fast and Simple Physics using Sequential Impulses, слайд №33Fast and Simple Physics using Sequential Impulses, слайд №34Fast and Simple Physics using Sequential Impulses, слайд №35Fast and Simple Physics using Sequential Impulses, слайд №36Fast and Simple Physics using Sequential Impulses, слайд №37Fast and Simple Physics using Sequential Impulses, слайд №38Fast and Simple Physics using Sequential Impulses, слайд №39Fast and Simple Physics using Sequential Impulses, слайд №40Fast and Simple Physics using Sequential Impulses, слайд №41Fast and Simple Physics using Sequential Impulses, слайд №42Fast and Simple Physics using Sequential Impulses, слайд №43Fast and Simple Physics using Sequential Impulses, слайд №44Fast and Simple Physics using Sequential Impulses, слайд №45Fast and Simple Physics using Sequential Impulses, слайд №46Fast and Simple Physics using Sequential Impulses, слайд №47Fast and Simple Physics using Sequential Impulses, слайд №48Fast and Simple Physics using Sequential Impulses, слайд №49Fast and Simple Physics using Sequential Impulses, слайд №50Fast and Simple Physics using Sequential Impulses, слайд №51Fast and Simple Physics using Sequential Impulses, слайд №52Fast and Simple Physics using Sequential Impulses, слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Fast and Simple Physics using Sequential Impulses. Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Fast and Simple Physics using Sequential Impulses
Erin Catto
Crystal Dynamics
Описание слайда:
Fast and Simple Physics using Sequential Impulses Erin Catto Crystal Dynamics

Слайд 2





Physics Engine Checklist
Collision and contact
Friction: static and dynamic
Stacking
Joints
Fast, simple, and robust
Описание слайда:
Physics Engine Checklist Collision and contact Friction: static and dynamic Stacking Joints Fast, simple, and robust

Слайд 3





Box2D Demo
It’s got collision
It’s got friction
It’s got stacking
It’s got joints
Check the code, it’s simple!
Описание слайда:
Box2D Demo It’s got collision It’s got friction It’s got stacking It’s got joints Check the code, it’s simple!

Слайд 4





Fast and Simple Physics
Penalty method?
Nope
Linear complementarity (LCP)?
Nope
Joint coordinates (Featherstone)?
Nope
Particles (Jakobsen)?
Nope
Impulses?
Bingo!
Описание слайда:
Fast and Simple Physics Penalty method? Nope Linear complementarity (LCP)? Nope Joint coordinates (Featherstone)? Nope Particles (Jakobsen)? Nope Impulses? Bingo!

Слайд 5





Why Impulses?
Most people don’t hate impulses
The math is almost understandable
Intuition often works
Impulses can be robust
Описание слайда:
Why Impulses? Most people don’t hate impulses The math is almost understandable Intuition often works Impulses can be robust

Слайд 6





Making Impulses not Suck
Impulses are good at making things bounce.
Many attempts to use impulses leads to bouncy simulations (aka jitter).
Forget static friction.
Forget stacking.
Описание слайда:
Making Impulses not Suck Impulses are good at making things bounce. Many attempts to use impulses leads to bouncy simulations (aka jitter). Forget static friction. Forget stacking.

Слайд 7





Impulses without the Bounce
Forget bounces for a moment.
Let’s concentrate on keeping things still.
It’s always easy to add back in the bounce.
Описание слайда:
Impulses without the Bounce Forget bounces for a moment. Let’s concentrate on keeping things still. It’s always easy to add back in the bounce.

Слайд 8





The 5 Step Program
Accept penetration
Remember the past
Apply impulses early and often
Pursue the true impulse
Update position last
Описание слайда:
The 5 Step Program Accept penetration Remember the past Apply impulses early and often Pursue the true impulse Update position last

Слайд 9





Penetration
Performance
Simplicity
Coherence
Game logic
Fewer cracks
Описание слайда:
Penetration Performance Simplicity Coherence Game logic Fewer cracks

Слайд 10





Algorithm Overview
Compute contact points
Apply forces (gravity)
Apply impulses
Update position
Loop
Описание слайда:
Algorithm Overview Compute contact points Apply forces (gravity) Apply impulses Update position Loop

Слайд 11





Contact Points
Position, normal, and penetration
Box-box using the SAT
Find the axis of minimum penetration
Find the incident face on the other box
Clip
Описание слайда:
Contact Points Position, normal, and penetration Box-box using the SAT Find the axis of minimum penetration Find the incident face on the other box Clip

Слайд 12





Box-Box SAT
First find the separating axis with the minimum penetration.
In 2D the separating axis is a face normal.
Описание слайда:
Box-Box SAT First find the separating axis with the minimum penetration. In 2D the separating axis is a face normal.

Слайд 13





Box-Box Clipping Setup
Identify reference face
Identify incident face
Описание слайда:
Box-Box Clipping Setup Identify reference face Identify incident face

Слайд 14





Box-Box Clipping
Clip incident face against reference face side planes (but not the reference face).
Consider clip points with positive penetration.
Описание слайда:
Box-Box Clipping Clip incident face against reference face side planes (but not the reference face). Consider clip points with positive penetration.

Слайд 15





Feature Flip-Flop
Which normal is the separating axis?
Apply weightings to prefer one axis over another.
Improved coherence.
Описание слайда:
Feature Flip-Flop Which normal is the separating axis? Apply weightings to prefer one axis over another. Improved coherence.

Слайд 16





Apply Forces
Описание слайда:
Apply Forces

Слайд 17





Impulses
Impulses are applied at each contact point.
Normal impulses to prevent penetration.
Tangent impulses to impose friction.
Описание слайда:
Impulses Impulses are applied at each contact point. Normal impulses to prevent penetration. Tangent impulses to impose friction.

Слайд 18





Computing the Impulse
Описание слайда:
Computing the Impulse

Слайд 19





Linear Momentum
Описание слайда:
Linear Momentum

Слайд 20





Relative Velocity
Описание слайда:
Relative Velocity

Слайд 21





The Normal Impulse
Описание слайда:
The Normal Impulse

Слайд 22





Bias Impulse
Give the normal impulse some extra oomph.
Proportional to the penetration.
Allow some slop.
Be gentle.
Описание слайда:
Bias Impulse Give the normal impulse some extra oomph. Proportional to the penetration. Allow some slop. Be gentle.

Слайд 23





Bias Velocity
Описание слайда:
Bias Velocity

Слайд 24





Bias Impulse
Описание слайда:
Bias Impulse

Слайд 25





Friction Impulse
Описание слайда:
Friction Impulse

Слайд 26





Sequential Impulses
Apply an impulse at each contact point.
Continue applying impulses for several iterations.
Terminate after:
- fixed number of iterations
- impulses become small
Описание слайда:
Sequential Impulses Apply an impulse at each contact point. Continue applying impulses for several iterations. Terminate after: - fixed number of iterations - impulses become small

Слайд 27





Naïve Impulses
Описание слайда:
Naïve Impulses

Слайд 28





Where Did We Go Wrong?
Each contact point forgets its impulse history.
Each contact point requires that every impulse be positive.
There is no way to recover from a bad impulse.
Описание слайда:
Where Did We Go Wrong? Each contact point forgets its impulse history. Each contact point requires that every impulse be positive. There is no way to recover from a bad impulse.

Слайд 29





Accumulated Impulses
Описание слайда:
Accumulated Impulses

Слайд 30





The True Impulse
Each impulse adds to an accumulated impulse for each contact point.
The accumulated impulse approaches the true impulse (hopefully).
True impulse: an exact global solution.
Описание слайда:
The True Impulse Each impulse adds to an accumulated impulse for each contact point. The accumulated impulse approaches the true impulse (hopefully). True impulse: an exact global solution.

Слайд 31





Accumulated Impulse
Clamp the accumulated impulse, not the incremental impulses.
Описание слайда:
Accumulated Impulse Clamp the accumulated impulse, not the incremental impulses.

Слайд 32





Correct Clamping
Описание слайда:
Correct Clamping

Слайд 33





Position Update
Use the new velocities to integrate the positions.
The time step is complete.
Описание слайда:
Position Update Use the new velocities to integrate the positions. The time step is complete.

Слайд 34





Extras
Coherence
Feature-based contact points
Joints
Engine layout
Loose ends
3D Issues
Описание слайда:
Extras Coherence Feature-based contact points Joints Engine layout Loose ends 3D Issues

Слайд 35





Coherence
Apply old accumulated impulses at the beginning of the step.
Less iterations and greater stability.
We need a way to match old and new contacts.
Описание слайда:
Coherence Apply old accumulated impulses at the beginning of the step. Less iterations and greater stability. We need a way to match old and new contacts.

Слайд 36





Feature-Based Contact Points
Each contact point is the result of clipping.
It is the junction of two different edges.
An edge may come from either box.
Store the two edge numbers with each contact point – this is the Contact ID.
Описание слайда:
Feature-Based Contact Points Each contact point is the result of clipping. It is the junction of two different edges. An edge may come from either box. Store the two edge numbers with each contact point – this is the Contact ID.

Слайд 37





Contact Point IDs
Описание слайда:
Contact Point IDs

Слайд 38





Joints
Specify (constrain) part of the motion.
Compute the impulse necessary to achieve the constraint.
Use an accumulator to pursue the true impulse.
Bias impulse to prevent separation.
Описание слайда:
Joints Specify (constrain) part of the motion. Compute the impulse necessary to achieve the constraint. Use an accumulator to pursue the true impulse. Bias impulse to prevent separation.

Слайд 39





Revolute Joint
Two bodies share a common point.
They rotate freely about the point.
Описание слайда:
Revolute Joint Two bodies share a common point. They rotate freely about the point.

Слайд 40





Revolute Joint
The joint knows the local anchor point for both bodies.
Описание слайда:
Revolute Joint The joint knows the local anchor point for both bodies.

Слайд 41





Relative Velocity
The relative velocity of the anchor points is zero.
Описание слайда:
Relative Velocity The relative velocity of the anchor points is zero.

Слайд 42





Linear Momentum
Apply linear momentum to the relative velocity to get:
Описание слайда:
Linear Momentum Apply linear momentum to the relative velocity to get:

Слайд 43





K Matrix
2-by-2 matrix in 2D, 3-by-3 in 3D.
Symmetric positive definite.
Think of K as the inverse mass matrix of the constraint.
Описание слайда:
K Matrix 2-by-2 matrix in 2D, 3-by-3 in 3D. Symmetric positive definite. Think of K as the inverse mass matrix of the constraint.

Слайд 44





Bias Impulse
The error is the separation between the anchor points
Описание слайда:
Bias Impulse The error is the separation between the anchor points

Слайд 45





Engine Layout
The World class contains all bodies, contacts, and joints.
Contacts are maintained by the Arbiter class.
Описание слайда:
Engine Layout The World class contains all bodies, contacts, and joints. Contacts are maintained by the Arbiter class.

Слайд 46





Arbiter
An arbiter exists for every touching pair of boxes.
Provides coherence.
Matches new and old contact points using the Contact ID.
Persistence of accumulated impulses.
Описание слайда:
Arbiter An arbiter exists for every touching pair of boxes. Provides coherence. Matches new and old contact points using the Contact ID. Persistence of accumulated impulses.

Слайд 47





Arbiters
Описание слайда:
Arbiters

Слайд 48





Collision Coherence
Use the arbiter to store the separating axis.
Improve performance at the cost of memory.
Use with broad-phase.
Описание слайда:
Collision Coherence Use the arbiter to store the separating axis. Improve performance at the cost of memory. Use with broad-phase.

Слайд 49





More on Arbiters
Arbiters are stored in a set according to the ordered body pointers.
Use time-stamping to remove stale arbiters.
Joints are permanent arbiters.
Arbiters can be used for game logic.
Описание слайда:
More on Arbiters Arbiters are stored in a set according to the ordered body pointers. Use time-stamping to remove stale arbiters. Joints are permanent arbiters. Arbiters can be used for game logic.

Слайд 50





Loose Ends
Ground is represented with bodies whose inverse mass is zero.
Contact mass can be computed as a pre-step.
Bias impulses shouldn’t affect the velocity state (TODO).
Описание слайда:
Loose Ends Ground is represented with bodies whose inverse mass is zero. Contact mass can be computed as a pre-step. Bias impulses shouldn’t affect the velocity state (TODO).

Слайд 51





3D Issues
Friction requires two axes.
Align the axes with velocity if it is non-zero.
Identify a contact patch (manifold) and apply friction at the center.
This requires a twist friction.
Big CPU savings.
Описание слайда:
3D Issues Friction requires two axes. Align the axes with velocity if it is non-zero. Identify a contact patch (manifold) and apply friction at the center. This requires a twist friction. Big CPU savings.

Слайд 52





Questions?
http://www.gphysics.com
erincatto at that domain
Download the code there.
Buy Tomb Raider Legend!
Описание слайда:
Questions? http://www.gphysics.com erincatto at that domain Download the code there. Buy Tomb Raider Legend!

Слайд 53





References
Physics-Based Animation by Kenny Erleben et al.
Real-Time Collision Detection by Christer Ericson.
Collision Detection in Interactive 3D Environments by Gino van den Bergen.
Fast Contact Reduction for Dynamics Simulation by Adam Moravanszky and Pierre Terdiman in Game Programming Gems 4.
Описание слайда:
References Physics-Based Animation by Kenny Erleben et al. Real-Time Collision Detection by Christer Ericson. Collision Detection in Interactive 3D Environments by Gino van den Bergen. Fast Contact Reduction for Dynamics Simulation by Adam Moravanszky and Pierre Terdiman in Game Programming Gems 4.



Похожие презентации
Mypresentation.ru
Загрузить презентацию