Basic Game Physics. IntroducBon (1 of 2) IMGD What is game physics? CompuBng mo)on of objects in virtual scene

Size: px
Start display at page:

Download "Basic Game Physics. IntroducBon (1 of 2) IMGD What is game physics? CompuBng mo)on of objects in virtual scene"

Transcription

1 Basic Game Physics IMGD 4000 With material from: Introduc)on to Game Development, Second EdiBon, Steve Rabin (ed), Cengage Learning, (Chapter 4.3) and Ar)ficial Intelligence for Games, Ian Millington, Morgan Kaufmann, 2006 (Chapter 3) IntroducBon (1 of 2) What is game physics? CompuBng mo)on of objects in virtual scene Including player avatars, NPC s, inanimate objects CompuBng mechanical interac)ons of objects InteracBon usually involves contact (collision) SimulaBon must be real- Bme (versus high- precision simulabon for CAD/CAM, etc.) SimulaBon may be very realisbc, approximate, or intenbonally distorted (for effect) 2 1

2 IntroducBon (2 of 2) And why is it important? Can improve immersion Can support new gameplay elements Becoming increasingly prominent (expected) part of high- end games Like AI and graphics, facilitated by hardware developments (mulb- core, GPU) MaturaBon of physics engine market 3 Physics Engines Similar buy vs. build analysis as game engines Buy: Complete solubon from day one Proven, robust code base (hopefully) Feature sets are pre- defined Costs range from free to expensive Build: Choose exactly features you want Opportunity for more game- specificabon opbmizabons Greater opportunity to innovate Cost guaranteed to be expensive (unless features extremely minimal) 4 2

3 Physics Engines Open source Box2D, Bullet, Chipmunk, JigLib, ODE, OPAL, OpenTissue, PAL, Tokamak, Farseer, Physics2d, Glaze Closed source (limited free distribubon) Newton Game Dynamics, Simple Physics Engine, True Axis, PhysX Commercial Havok, nv Physics, Vortex RelaBon to Game Engines NaBve, e.g,. C4 Integrated, e.g., UE4 + PhysX Pluggable, e.g., C4 + PhysX, jme + ODE (via jme Physics) Basic Game Physics Concepts Why are we studying this? To use an engine effecbvely, you need to understand something about what it s doing You may need to implement small features or extensions yourself Cf., owning a car without understanding anything about how it works Examples KinemaBcs and dynamics ProjecBle mobon Collision detecbon and response 6 3

4 Outline IntroducBon (done) KinemaBcs (next) The Firing SoluBon Collision DetecBon Ragdoll Physics PhysX 7 KinemaBcs (1 of 3) Study of mobon of objects without taking into account mass or force Basic quanbbes: posibon, Bme... and their derivabves: velocity, accelerabon Basic equabons: 1) d = vt 2) v = u + at 3) d = ut + ½at 2 4) v 2 = u 2 + 2ad Where: t - (elapsed) )me d - distance (change in posi)on) v - (final) velocity (change in distance per unit )me) a - accelera)on (change in velocity per unit )me) u - (ini)al) velocity Note, equabon #3 is the integral of equabon #2 with respect to Bme (see next slide). EquaBon #4 can be useful. 8 4

5 KinemaBcs (2 of 3) Non- accelerated mobon Accelerated mobon d = ut Example: u = 20 m/s, t = 300 s d = 20 x 3000 = 6000 m d = ut + ½at 2 Example: u=0 m/s, a=4m/s 2, t=3s d = 0x x4x9 = 18m KinemaBcs (3 of 3) Predic)on Example: If you throw a ball straight up into the air with an inibal velocity of 10 m/ sec, how high will it go? v 2 = u 2 + 2ad u = 10 m/sec (inibal speed upward) a = - 10 m/sec 2 (approx gravity) v = 0 m/sec (at top of flight) 0 = (- 10)d d = 5 meters (Note, answer independent of mass of ball!) d v = 0 a = - 10 u =

6 Doing It In 3D MathemaBcally, onsider all quanbbes involving posibon to be vectors: d = vt v = u + at d = ut + at 2 /2 ComputaBonally, using appropriate 3- element vector datatype 11 Dynamics NoBce that preceding kinemabc descripbons say nothing about why an object accelerates (or why its accelerabon might change) To get a full modern physical simulabon you need to add two more basic concepts: force mass Discovered by Sir Isaac Newton Around 1700 J 12 6

7 Newton s Laws 1. A body will remain at rest or conbnue to move in a straight line at a constant speed unless acted upon by a force. 2. The accelerabon of a body is propor)onal to the resultant force acbng on the body and is in the same direcbon as the resultant force. 3. For every acbon, there is an equal and opposite reacbon. 13 MoBon Without Newton s Laws Pac- Man or early Mario style Follow path with instantaneous changes in speed and direcbon (velocity) Not physically possible Note - fine for some casual games (especially with appropriate animabons) 14 7

8 Newton s Second Law F = ma At each moment in Bme: F = force vector, in Newton s m = mass (intrinsic scalar property of maper), in kg a = accelerabon vector, in m/sec 2 Player cares about state of world (posibon of objects). EquaBon is fundamental driver of all physics simulabons. Force causes accelerabon (a = F/m) AcceleraBon causes change in velocity Velocity causes change in posibon 15 KinemaBcs equabons How Are Forces Applied? May involve contact Collision (rebound) FricBon (rolling, sliding) Without contact Rockets/Muscles/Propellers Gravity Wind (if not modeling air parbcles) Magic Dynamic (force) modeling also used for autonomous steering behaviors 16 8

9 CompuBng KinemaBcs in Real Time start = gettime() // start time p = 0 // initial position u = 10 // initial velocity a = -10 function update () { now = gettime() t = now start simulate(t) } // in game loop function simulate (t) { d = ut + at 2 /2 d = (u + (0.5 * a * t)) * t move object to p + d // move to loc. computed since start } Note! Number of calls and Bme values to simulate() depend on (changing) game loop )me (frame rate) Is this a problem? It can be! For rigid body simulabon with colliding forces and fricbon (e.g., many interesbng cases) leading to jerky behavior 17 d a = - 10 u, p Frame Rate Independence Complex numerical simulabons used in physics engines are sensibve to Bme steps (due to truncabon error and other numerical effects) But results need to be repeatable regardless of CPU/GPU performance for debugging for game play So, if frame rate drops (game loop can t keep up), then physics will change SoluBon: Control physics simulabon interval independently of frame rate 18 9

10 Frame Rate Independence delta simula)on )cks lag frame updates previous now start =... delta = 0.02 lag = 0 previous = 0 // physics simula)on interval (sec) // )me since last simulated // )me of previous call to update function update() { // in game loop now = gettime() t = (previous - start) lag // previous simulate() lag = lag + (now - previous) // current lag while ( lag > delta ) // repeat un)l caught up t = t + delta simulate(t) lag = lag - delta previous = now // simula)on caught up to current )me } 19 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (next) Collision DetecBon Ragdoll Physics PhysX 20 10

11 The Firing SoluBon (1 of 3) How to hit target Beam weapon or high- velocity bullet over short ranges can be viewed as traveling in straight line But projecble travels in parabolic arc Grenade, spear, catapult, etc. d = ut + at 2 /2 u = velocity vector a = [0, 0, - 9.8] m/sec 2 (but can use higher value, e.g., - 18) d Most typical game situabons, magnitude of u fixed. We only need to know relabve components (orientabon) à Challenge: Given a, d, solve for u 21 Remember QuadraBc EquaBons? Make nice curves Like firing at target! SoluBons are where equals 0. E.g., when firing with gun on ground: At gun muzzle At target But unlike in algebra class, not just solving quadrabc but finding angle with y = gun, y = target Angle changes speed in x- direcbon, but also Bme spent in air Aver hairy math [Millington 3.5.3], three relevant cases: Target is out of range (no solubon) Target is at exact maximum range (single solubon) Target is closer than maximum range (two possible solubons) Solve with quadrabc formula 22 11

12 The Firing SoluBon (2 of 3) long Bme trajectory u = muzzle velocity vector short Bme trajectory Usually choose short Bme trajectory Gives target less Bme to escape Unless shoobng over wall, etc. d [Millington 3.5.3] u = (2Δ - at 2 ) / (2 (muzzle_v) t) where muzzle_v = max muzzle speed Δ is difference vector from d to u a is gravity 23 The Firing SoluBon (3 of 3) function firingsolution (start, target, muzzle_v, gravity) { // Calculate vector back from target to start delta = target - start // Real- valued coefficents of quadra)c equa)on a = gravity * gravity b = - 4 * (gravity * delta + muzzle_v * muzzle_v) c = 4 * delta * delta // Check for no real solu)ons if ( 4 * a * c > b * b ) return null // Find short and long )mes to target disc = sqrt (b * b - 4 * a *c) t1 = sqrt ( ( - b + disc ) / (2 * a )) t2 = sqrt ( ( - b - disc ) / (2 * a )) Note, a, b and c are scalars so a normal square root. } // Pick shortest valid )me to target (Qt) if ( t1 < 0 ) && ( t2 < 0) return null // No valid )mes if ( t1 < 0 ) ttt = t2 else if ( t2 < 0 ) ttt = t1 else ttt = min ( t1, t2 ) // Return firing vector return ( 2 * delta - gravity * ttt * ttt ) / ( 2 * muzzle_v * ttt ) Note scalar product of two vectors using *: [a,b,c] * [d,e,f] = a*d + b*e + c*f 24 [Millington 3.5.3] 12

13 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (next) Ragdoll Physics PhysX 25 Collision DetecBon Determining when objects collide is not as easy as it seems Geometry can be complex Objects can be moving quickly There can be many objects naive algorithms are O(n 2 ) Two basic approaches: Overlap tesbng Detects whether collision has already occurred IntersecBon tesbng Predicts whether collision will occur in future 26 13

14 Overlap TesBng Basics discussed and implemented in IMGD 3000! Most common technique used in games Exhibits more error than intersecbon tesbng Basic idea: at every simulabon step, test every pair of objects to see if overlap Easy for simple volumes (e.g., spheres), harder for polygonal models Results of test: collision normal vector (useful for reacbon) Bme that collision took place 27 Overlap TesBng: Finding Collision Time Calculated by doing binary search in Bme, moving object back and forth by 1/2 steps (bisecbons) A t 0 A A A t A A 0.25 t t t t 0.5 t 1 B Initial Overlap Test B Iteration 1 Forward 1/2 Iteration 2 Backward 1/4 In pracbce, five iterabons usually enough B B Iteration 3 Forward 1/8 B Iteration 4 Forward 1/16 B Iteration 5 Backward 1/

15 LimitaBons of Overlap TesBng Fails with objects that move too fast (no overlap during simulabon Bme slice) window t -1 t 0 t 1 t 2 bullet SoluBon approach: constrain game design so that fastest object moves smaller distance in one physics Bck (delta) than thinnest object may require reducing simulabon step size (adds computabon overhead) 29 IntersecBon TesBng Predict future collisions Extrude geometry in direcbon of movement e.g., swept sphere turns into capsule shape t 0 t 1 Then, see if extruded shape overlaps objects When collision found (predicted) Move simulabon to Bme of collision (have collision point) Resolve collision Works for bullet/window example (bullet becomes line segment) 30 15

16 Speeding Up Collision DetecBon Bounding Volumes Oriented Hierarchical ParBBoning Plane Sweep 31 Bounding Volumes Commonly used volumes sphere - distance between centers less than sum of radii boxes axis aligned (loose fit, easier math) oriented (Bghter fit, more expensive) 32 Axis-Aligned Bounding Box If bounding volumes don t overlap, then no more tesbng is required If overlap, more refined tesbng required Bounding volume alone may be good enough for some games Oriented Bounding Box 16

17 Complex Bounding Volumes MulBple volumes per object e.g., separate volumes for head, torso and limbs of avatar object Hierarchical volumes e.g., boxes inside of boxes [GoQschalk, Lin, Minocha, SIGGRAPH 96] 33 ParBBoning for Collision TesBng To address the n 2 problem... ParBBon space so only test objects in same cell In best case (uniform distribubon) reduces n 2 to linear Can happen for uniform size, density objects (e.g., cloth/fluids) In worst case (all objects in same cell) no improvement 34 17

18 Plane Sweep for Collision TesBng Observa)on: many moveable objects stay in one place most of the Bme Sort bounds along axes (expensive to do, so do just once!) Only adjacent sorted objects which overlap on all axes need to be checked further Since many objects don t move, can keep sort up to date very cheaply with bubblesort (nearly linear) y B 1 A 1 R 1 B 0 A 0 A R B C 1 R 0 C C 0 A 0 A 1 R 0 B 0 R 1 C 0 B 1 C 1 35 x Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (done) Ragdoll Physics (next) PhysX 36 18

19 What is Ragdoll Physics? Procedural animabon oven used as replacement for tradibonal (stabc) death animabon Generated by code, not hand Using physics constraints on body limbs & joints in real- Bme SBll from early animabon using ragdoll physics hpps://en.wikipedia.org/wiki/ragdoll_physics hpp:// physics- 2 Diablo 3 Ragdolls How to Smack a Demon Erin Capo (Game Developer s Conference, San Francisco, California, USA, 2013) Physics Programmer for Diablo 3 (Blizzard, 2012) 19

20 A ragdoll is a collecbon of collision shapes connected to bones 20

21 21

22 Physics joints connect two bones Cone Joint (like shoulder) Revolute Joint (like elbow) Tech arbst connects bones with Physics joints Spherical Joint (for chandeliers) Weld Joint (locks two bodies, for advanced) 22

23 ParBal ragdolls add flavor to living characters Not just for death and destrucbon 23

24 More Physics We Are Not Covering Collision response ConservaBon of momentum ElasBc collisions Non- elasbc collisions coefficient of resbtubon Rigid body simulabon (vs. point masses) Joints as constraints to mobon Sov body simulabon [see excellent book by Millington, Game Physics Engine Development, MK, 2007] 47 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (done) Ragdoll Physics (done) PhysX (next) 48 24

25 PhysX Overview Developed by NVIDIA for C++ applicabons Windows, Mac, Linux, PlaystaBon, Xbox, Android, Apple ios and Wii Simulate Fluids Sov bodies (cloth, hair) Rigid bodies (boxes, bones) Why Does NVIDIA Make Physics Sovware? NVIDIA is mainly known as a developer and manufacturer of graphics hardware (GPU s) So taking advantage of GPU for hardware accelerabon of their physics engine Algorithms can be tuned to their hardware Giving a compebbve advantage over other GPU manufacturers 50 25

26 Configure Video Card as Dedicated PhysX Processor Dedicated to PhysX What Algorithms Does PhysX Use? Hard to know exactly, because algorithm details are NVIDIA s intellectual property (IP) However from various forums and clues, it is clear PhysX uses: Both sweep and overlap collision detecbon AABB and OBBT and (both axis- aligned and oriented bounding bounding box trees) Constraints: hinges, springs, etc. and lots of other hairy stuff, see hpps://devtalk.nvidia.com/default/board/66/physx- and- physics- modeling/ 52 26

27 Rocket Sled CES 2010, Rocket Sled demonstrates both graphics and physics compubng capabilibes of new GF100 (Fermi) GPUs. Raging Rapids Ride Graphics ok, but with intensive and complex real- Ame fluid simulabon 27

28 Havok Cloth PhysX compebtor bought by Microsov Binary Free! Source code (e.g., to modify), costs How to Use PhsyX General documentabon NVIDIA PhysX SDK DocumentaBon hpp://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/index.html UE4 guide PhysX, IntegraBng PhysX Code into Your Project (by Rama) hpps://wiki.unrealengine.com/physx,_integrabng_physx_code_into_your_project 28

Technical Game Development II. [using materials provided by Mark Claypool] IMGD 4000 (D 08) 1. What is game physics and why is it important?

Technical Game Development II. [using materials provided by Mark Claypool] IMGD 4000 (D 08) 1. What is game physics and why is it important? Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [using materials provided by Mark Claypool] IMGD 4000 (D 08) 1 Introduction What is game

More information

Technical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 10) 1. computing motion of objects in virtual scene

Technical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 10) 1. computing motion of objects in virtual scene Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [some material provided by Mark Claypool] IMGD 4000 (D 10) 1 Introduction What is game physics?

More information

Technical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 11) 1. computing motion of objects in virtual scene

Technical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 11) 1. computing motion of objects in virtual scene Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [some material provided by Mark Claypool] IMGD 4000 (D 11) 1 Introduction What is game physics?

More information

IMGD 4000 Technical Game Development II Basic Physics

IMGD 4000 Technical Game Development II Basic Physics IMGD 4000 Technical Game Development II Basic Physics Robert W. Lindeman Associate Professor Human Interaction in Virtual Environments (HIVE) Lab Department of Computer Science Worcester Polytechnic Institute

More information

Real-Time Physics Simulation. Alan Hazelden.

Real-Time Physics Simulation. Alan Hazelden. Real-Time Physics Simulation Alan Hazelden alan@draknek.org http://www.draknek.org/ Who am I? Studied Computer Science 2005-2009 Warwick Game Design exec member 3rd and 4th year projects: physics engines

More information

A Different Approach for Continuous Physics. Vincent ROBERT Physics Programmer at Ubisoft

A Different Approach for Continuous Physics. Vincent ROBERT Physics Programmer at Ubisoft A Different Approach for Continuous Physics Vincent ROBERT vincent.robert@ubisoft.com Physics Programmer at Ubisoft A Different Approach for Continuous Physics Existing approaches Our method Limitations

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

Character Animation 1

Character Animation 1 Character Animation 1 Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character

More information

Principles of Computer Game Design and Implementation. Lecture 11

Principles of Computer Game Design and Implementation. Lecture 11 Principles of Computer Game Design and Implementation Lecture 11 We already learned Vector operations Sum Subtraction Dot product Cross product A few others about jmonkey, eg. User input, camera, etc 2

More information

Practice problems from old exams for math 233

Practice problems from old exams for math 233 Practice problems from old exams for math 233 William H. Meeks III October 26, 2012 Disclaimer: Your instructor covers far more materials that we can possibly fit into a four/five questions exams. These

More information

Character Animation. Presented by: Pam Chow

Character Animation. Presented by: Pam Chow Character Animation Presented by: Pam Chow Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. PLAZMO AND

More information

Math for Gameplay / AI. John O Brien Senior Gameplay Programmer Insomniac Games, Inc

Math for Gameplay / AI. John O Brien Senior Gameplay Programmer Insomniac Games, Inc Math for Gameplay / AI John O Brien Senior Gameplay Programmer Insomniac Games, Inc jobrien@insomniacgames.com jobrien@nc.rr.com Overview Basic Object Intersection Tests Real gameplay example(s) AI-specific

More information

Name Period. (b) Now measure the distances from each student to the starting point. Write those 3 distances here. (diagonal part) R measured =

Name Period. (b) Now measure the distances from each student to the starting point. Write those 3 distances here. (diagonal part) R measured = Lesson 5: Vectors and Projectile Motion Name Period 5.1 Introduction: Vectors vs. Scalars (a) Read page 69 of the supplemental Conceptual Physics text. Name at least 3 vector quantities and at least 3

More information

Lesson 1: Introduction to Pro/MECHANICA Motion

Lesson 1: Introduction to Pro/MECHANICA Motion Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

PSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann

PSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann PSE Game Physics Session (3) Springs, Ropes, Linear Momentum and Rotations Oliver Meister, Roland Wittmann 08.05.2015 Session (3) Springs, Ropes, Linear Momentum and Rotations, 08.05.2015 1 Outline Springs

More information

Learning Objectives. Math Prerequisites. Technology Prerequisites. Materials. Math Objectives. Technology Objectives

Learning Objectives. Math Prerequisites. Technology Prerequisites. Materials. Math Objectives. Technology Objectives Learning Objectives Parametric Functions Lesson 2: Dude, Where s My Football? Level: Algebra 2 Time required: 60 minutes Many students expect a falling object graph to look just like the path of the falling

More information

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection

More information

Chapter 19- Object Physics

Chapter 19- Object Physics Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's

More information

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)

Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?

More information

ROSE-HULMAN INSTITUTE OF TECHNOLOGY

ROSE-HULMAN INSTITUTE OF TECHNOLOGY Introduction to Working Model Welcome to Working Model! What is Working Model? It's an advanced 2-dimensional motion simulation package with sophisticated editing capabilities. It allows you to build and

More information

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a

More information

Simulation (last lecture and this one)

Simulation (last lecture and this one) Simulation (last lecture and this one) How used in games? Dynamics Collisions simple ------------------------------- Collisions harder detection bounding boxes response Controllers Mocap + simulation User

More information

Replicating Chaos Vehicle Replication in Watch Dogs 2. Matt Delbosc Team Lead Programmer Ubisoft Toronto

Replicating Chaos Vehicle Replication in Watch Dogs 2. Matt Delbosc Team Lead Programmer Ubisoft Toronto Replicating Chaos Vehicle Replication in Watch Dogs 2 Matt Delbosc Team Lead Programmer Ubisoft Toronto Network architecture 4-player peer-to-peer No single server Lots of entities to replicate Distributed

More information

CS 378: Computer Game Technology

CS 378: Computer Game Technology CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes

More information

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based

More information

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based Animation Forward and

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

OCR Maths M2. Topic Questions from Papers. Projectiles

OCR Maths M2. Topic Questions from Papers. Projectiles OCR Maths M2 Topic Questions from Papers Projectiles PhysicsAndMathsTutor.com 21 Aparticleisprojectedhorizontallywithaspeedof6ms 1 from a point 10 m above horizontal ground. The particle moves freely under

More information

Introduction to Computer Graphics. Animation (2) May 26, 2016 Kenshi Takayama

Introduction to Computer Graphics. Animation (2) May 26, 2016 Kenshi Takayama Introduction to Computer Graphics Animation (2) May 26, 2016 Kenshi Takayama Physically-based deformations 2 Simple example: single mass & spring in 1D Mass m, position x, spring coefficient k, rest length

More information

Planning in Mobile Robotics

Planning in Mobile Robotics Planning in Mobile Robotics Part I. Miroslav Kulich Intelligent and Mobile Robotics Group Gerstner Laboratory for Intelligent Decision Making and Control Czech Technical University in Prague Tuesday 26/07/2011

More information

Cloth Animation with Collision Detection

Cloth Animation with Collision Detection Cloth Animation with Collision Detection Mara Guimarães da Silva Figure 1: Cloth blowing in the wind. Abstract This document reports the techniques and steps used to implemented a physically based animation

More information

Lesson 17: Graphing Quadratic Functions from the Standard Form,

Lesson 17: Graphing Quadratic Functions from the Standard Form, : Graphing Quadratic Functions from the Standard Form, Student Outcomes Students graph a variety of quadratic functions using the form 2 (standard form). Students analyze and draw conclusions about contextual

More information

PROJECTILE MOTION PURPOSE

PROJECTILE MOTION PURPOSE PURPOSE The purpose of this experiment is to study the motion of an object in two dimensions. The motion of the projectile is analyzed using Newton's laws of motion. During the motion of the projectile,

More information

Collision detection. Piotr Fulma«ski. 1 grudnia

Collision detection. Piotr Fulma«ski. 1 grudnia Collision detection Piotr Fulma«ski piotr@fulmanski.pl 1 grudnia 2016 Table of contents Collision in games Algorithms to detect collision in games depend on the type of shapes that can collide (e.g. rectangle

More information

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based

More information

Graphical Analysis of Kinematics

Graphical Analysis of Kinematics Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and

More information

11/3/2011. What You ll See in This Chapter. Word Cloud. How Much Calculus is Needed? A Modest Proposal. Ian Parberry University of North Texas

11/3/2011. What You ll See in This Chapter. Word Cloud. How Much Calculus is Needed? A Modest Proposal. Ian Parberry University of North Texas What You ll See in This Chapter Chapter 11: Mechanics 1: Linear Kinematics & Calculus Fletcher Dunn Valve Software Ian Parberry University of North Texas This chapter gives a taste of linear kinematics

More information

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection II These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Some Possible Approaches Geometric methods Algebraic techniques Hierarchical

More information

Collision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Collision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska Collision detection Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 19 pa¹dziernika 2015 Table of contents Collision in games Algorithms to detect collision in games depend

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

DYNAMICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

DYNAMICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG DYNAMICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Summary of physics-based animation Motivation Newton s Laws Point-mass models Rigid and articulated bodies Ragdoll physics From kinematics to dynamics

More information

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller T6: Position-Based Simulation Methods in Computer Graphics Jan Bender Miles Macklin Matthias Müller Jan Bender Organizer Professor at the Visual Computing Institute at Aachen University Research topics

More information

Pong in Unity a basic Intro

Pong in Unity a basic Intro This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this

More information

Collision Detection with Bounding Volume Hierarchies

Collision Detection with Bounding Volume Hierarchies Simulation in Computer Graphics Collision Detection with Bounding Volume Hierarchies Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volumes BV hierarchies

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 4 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Collisions in Unity Aim: Build

More information

LECTURE 7. Announcements

LECTURE 7. Announcements LECTURE 7 Announcements Minecraft 4 Feedback Looks good! A game that minimally involves platforms Not based on any game in particular Super Mario 64? Team Fortress 2? Completely up to you to make unique

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

The Normal Distribution & z-scores

The Normal Distribution & z-scores & z-scores Distributions: Who needs them? Why are we interested in distributions? Important link between distributions and probabilities of events If we know the distribution of a set of events, then we

More information

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object: Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special

More information

Lecture VI: Constraints and Controllers

Lecture VI: Constraints and Controllers Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening

More information

LECTURE 6. Announcements

LECTURE 6. Announcements LECTURE 6 Announcements Minecraft 3 Feedback Infinite worlds! Terrain looks good Gameplay not super varied Happy Birthday Hassan! The Voxel Engine You re done with your first collision engine! Environment

More information

Creating joints for the NovodeX MAX exporter

Creating joints for the NovodeX MAX exporter Creating joints for the NovodeX MAX exporter (a step-by-step tutorial by Pierre Terdiman) p.terdiman@wanadoo.fr Version 0.3 I) Creating a hinge Here we'll see how to create a hinge joint compatible with

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Founda'ons of Game AI

Founda'ons of Game AI Founda'ons of Game AI Level 3 Basic Movement Prof Alexiei Dingli 2D Movement 2D Movement 2D Movement 2D Movement 2D Movement Movement Character considered as a point 3 Axis (x,y,z) Y (Up) Z X Character

More information

12 - More Steering. from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006

12 - More Steering. from Milligan, Artificial Intelligence for Games, Morgan Kaufman, 2006 12 - More Steering from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006 Separation commonly used in crowds, when all characters moving in roughly the same direction (repulsion steering)

More information

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics Velocity Interpolation Original image from Foster & Metaxas, 1996 In 2D: For each axis, find the 4 closest face velocity samples: Self-intersecting

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

Graphical Analysis of Kinematics

Graphical Analysis of Kinematics Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and

More information

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón

CS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón CS 480: GAME AI STEERING BEHAVIORS 4/12/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly Also:

More information

Anatomy of a Physics Engine. Erwin Coumans

Anatomy of a Physics Engine. Erwin Coumans Anatomy of a Physics Engine Erwin Coumans erwin_coumans@playstation.sony.com How it fits together» Terminology» Rigid Body Dynamics» Collision Detection» Software Design Decisions» Trip through the Physics

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

RECTILINEAR MOVEMENT

RECTILINEAR MOVEMENT RECTILINEAR MOVEMENT This teaching unit continues the study of movement which we began in these two previous units: Moving bodies and Trajectory and Displacement In this one we look separately at Uniform

More information

COSMOS. Connecting to Accurate, Efficient Assembly Analysis. SolidWorks Corporation. Introduction. Pin Connectors. Bolt Connectors.

COSMOS. Connecting to Accurate, Efficient Assembly Analysis. SolidWorks Corporation. Introduction. Pin Connectors. Bolt Connectors. WHITE PAPER Connecting to Accurate, Efficient Assembly Analysis CONTENTS Introduction Pin Connectors Bolt Connectors Spring Connectors Spot Weld Connectors 1 2 4 7 8 SolidWorks Corporation INTRODUCTION

More information

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics On Friday (3/1), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension

More information

EEN118 LAB FOUR. h = v t ½ g t 2

EEN118 LAB FOUR. h = v t ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

EEN118 LAB FOUR. h = v t - ½ g t 2

EEN118 LAB FOUR. h = v t - ½ g t 2 EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical

More information

Two-Dimensional Projectile Motion

Two-Dimensional Projectile Motion Two-Dimensional Projectile Motion I. Introduction. This experiment involves the study of motion using a CCD video camera in which a sequence of video frames (a movie ) is recorded onto computer disk and

More information

Motion Capture & Simulation

Motion Capture & Simulation Motion Capture & Simulation Motion Capture Character Reconstructions Joint Angles Need 3 points to compute a rigid body coordinate frame 1 st point gives 3D translation, 2 nd point gives 2 angles, 3 rd

More information

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics Preview CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles

More information

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles of traditional

More information

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1 Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral

More information

Shape of Things to Come: Next-Gen Physics Deep Dive

Shape of Things to Come: Next-Gen Physics Deep Dive Shape of Things to Come: Next-Gen Physics Deep Dive Jean Pierre Bordes NVIDIA Corporation Free PhysX on CUDA PhysX by NVIDIA since March 2008 PhysX on CUDA available: August 2008 GPU PhysX in Games Physical

More information

Course Review. Computer Animation and Visualisation. Taku Komura

Course Review. Computer Animation and Visualisation. Taku Komura Course Review Computer Animation and Visualisation Taku Komura Characters include Human models Virtual characters Animal models Representation of postures The body has a hierarchical structure Many types

More information

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s CENG 732 Computer Animation This week Inverse Kinematics (continued) Rigid Body Simulation Bodies in free fall Bodies in contact Spring 2006-2007 Week 5 Inverse Kinematics Physically Based Rigid Body Simulation

More information

Brief 3ds max Shaping Tutorial

Brief 3ds max Shaping Tutorial Brief 3ds max Shaping Tutorial Part1: Power Key Axe Shaft Written by Maestro 1. Creation: Go to top view, create a 6 sided cylinder, 0.1 radius this is the perfect shaft thickness to fit in the hand, so

More information

CS 387/680: GAME AI MOVEMENT

CS 387/680: GAME AI MOVEMENT CS 387/680: GAME AI MOVEMENT 4/7/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html

More information

B ABC is mapped into A'B'C'

B ABC is mapped into A'B'C' h. 00 Transformations Sec. 1 Mappings & ongruence Mappings Moving a figure around a plane is called mapping. In the figure below, was moved (mapped) to a new position in the plane and the new triangle

More information

SAMPLE STUDY MATERIAL. Mechanical Engineering. Postal Correspondence Course. Theory of Machines. GATE, IES & PSUs

SAMPLE STUDY MATERIAL. Mechanical Engineering. Postal Correspondence Course. Theory of Machines. GATE, IES & PSUs TOM - ME GATE, IES, PSU 1 SAMPLE STUDY MATERIAL Mechanical Engineering ME Postal Correspondence Course Theory of Machines GATE, IES & PSUs TOM - ME GATE, IES, PSU 2 C O N T E N T TOPIC 1. MACHANISMS AND

More information

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics Announcements: Quiz On Tuesday (3/10), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension

More information

The Normal Distribution & z-scores

The Normal Distribution & z-scores & z-scores Distributions: Who needs them? Why are we interested in distributions? Important link between distributions and probabilities of events If we know the distribution of a set of events, then we

More information

What is a Rigid Body?

What is a Rigid Body? Physics on the GPU What is a Rigid Body? A rigid body is a non-deformable object that is a idealized solid Each rigid body is defined in space by its center of mass To make things simpler we assume the

More information

Post Mortem: GPU Accelerated Effects in Borderlands 2

Post Mortem: GPU Accelerated Effects in Borderlands 2 Post Mortem: GPU Accelerated Effects in Borderlands 2 Introduction Speakers: Jim Sanders, FX Director, Gearbox Software Kevin Newkirk, Technical Artist, NVIDIA Welcome to the Borderlands! What is Borderlands2?

More information

Dynamic Bounding Volume Hierarchies. Erin Catto, Blizzard Entertainment

Dynamic Bounding Volume Hierarchies. Erin Catto, Blizzard Entertainment Dynamic Bounding Volume Hierarchies Erin Catto, Blizzard Entertainment 1 This is one of my favorite Overwatch maps: BlizzardWorld. This is the spawn area inside the Hearthstone Tavern. 2 All the objects

More information

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg Simulation in Computer Graphics Deformable Objects Matthias Teschner Computer Science Department University of Freiburg Outline introduction forces performance collision handling visualization University

More information

To Measure a Constant Velocity. Enter.

To Measure a Constant Velocity. Enter. To Measure a Constant Velocity Apparatus calculator, black lead, calculator based ranger (cbr, shown), Physics application this text, the use of the program becomes second nature. At the Vernier Software

More information

Vector Decomposition

Vector Decomposition Projectile Motion AP Physics 1 Vector Decomposition 1 Coordinate Systems A coordinate system is an artificially imposed grid that you place on a problem. You are free to choose: Where to place the origin,

More information

Virtual Synchrony. Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and JusBn (cs )

Virtual Synchrony. Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and JusBn (cs ) Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs6410 2009) and JusBn (cs614 2005) The Process Group Approach to Reliable Distributed CompuBng Ken Birman Professor, Cornell University

More information

ACTIVITY TWO CONSTANT VELOCITY IN TWO DIRECTIONS

ACTIVITY TWO CONSTANT VELOCITY IN TWO DIRECTIONS 1 ACTIVITY TWO CONSTANT VELOCITY IN TWO DIRECTIONS Purpose The overall goal of this activity is for students to analyze the motion of an object moving with constant velocity along a diagonal line. In this

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Discrete Element Method

Discrete Element Method Discrete Element Method Midterm Project: Option 2 1 Motivation NASA, loyalkng.com, cowboymining.com Industries: Mining Food & Pharmaceutics Film & Game etc. Problem examples: Collapsing Silos Mars Rover

More information

Accurate 3D Face and Body Modeling from a Single Fixed Kinect

Accurate 3D Face and Body Modeling from a Single Fixed Kinect Accurate 3D Face and Body Modeling from a Single Fixed Kinect Ruizhe Wang*, Matthias Hernandez*, Jongmoo Choi, Gérard Medioni Computer Vision Lab, IRIS University of Southern California Abstract In this

More information

CUDA Particles. Simon Green

CUDA Particles. Simon Green CUDA Particles Simon Green sdkfeedback@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 Sept 19 2007 Simon Green Initial draft Abstract Particle systems [1] are a commonly

More information

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG KINEMATICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Direct and inverse kinematics in animation Fast numerical methods for inverse kinematics by Bill Baxter My Adventures with Inverse Kinematics

More information

Particle Systems. Lecture 8 Taku Komura

Particle Systems. Lecture 8 Taku Komura Particle Systems Computer Animation and Visualisation Lecture 8 Taku Komura Overview Particle System Modelling fuzzy objects (fire, smoke) Modelling liquid Modelling cloth Integration : implicit integration,

More information

The University of Melbourne Department of Computer Science and Software Engineering Graphics and computation.

The University of Melbourne Department of Computer Science and Software Engineering Graphics and computation. The University of Melbourne Department of Computer Science and Software Engineering 433-380 Graphics and computation Project 2, 2007 Set: 16th April Demonstration: week commencing 14th May Electronic submission:

More information

3.3 Interpolation of rotations represented by quaternions

3.3 Interpolation of rotations represented by quaternions 3 S 3.3 Interpolation of rotations represented by quaternions : set of unit quaternions ; S :set of unit 3D vectors Interpolation will be performed on 3 S (direct linear interpolation produces nonlinear

More information