CGP Lecture 9

Total Page:16

File Type:pdf, Size:1020Kb

CGP Lecture 9 CGP 9 Dr Wojciech Palubicki Where we were at… State Broad Narrow Collision Update Phase Phase Response Today… State Broad Narrow Collision Update Phase Phase Response Basic Idea • Limit motion of particles/ rigid bodies by introducing constraints. Constraint Types • Contact and Friction Constraint Types • Distance: Cloth Constraint Types • Joint angle constraints of ragdolls Collision Response • Solving physical constraints in addition to the equations of motion • Constraints are mostly contact constraints, but also – Friction constraints – Distance constraints – Joint angle constraints – ... • The ideal collision response system deals with all of these Naive Take • Apply the constraints to the objects in pairs • Use the laws of conservation of motion for each collision; P0 is the - point of collision, xA and xB are the centers of mass of the objects, v is the pre-impact velocity of the objects, v+ is the post-impact velocity of the objects − − − − − 1+휀 푁0∙ 푣퐴 −푣퐵 +(휔퐴∙ 푟퐴×푁0 −휔퐵∙(푟퐵 × 푁0)) • 푓 = 푇 − 푇 − 1 푚퐴+1 푚퐵+ 푟퐴×푁0 퐼퐴 푟퐴×푁0 + 푟퐵×푁0 퐼퐴 (푟퐵 × 푁0) • 푟퐴 = 푃0 − 푥퐴, 푟퐵 = 푃0 – 푥퐵 + − • 푣퐴 = 푣퐴 + 푓푁0/푚퐴 + − − • 휔퐴 = 휔퐴 + + 퐼퐴 (푟퐴 × (푓푁0)) • Push away from interpenetration as long as interpenetration exists Naive Take • Apply the constraints to the objects in pairs • Use the laws of conservation of motion for each collision; P0 is the - point of collision, xA and xB are the centers of mass of the objects, v is the pre-impact velocity of the objects, v+ is the post-impact velocity of the objects − − − − − 1+휀 푁0∙ 푣퐴 −푣퐵 +(휔퐴∙ 푟퐴×푁0 −휔퐵∙(푟퐵 × 푁0)) • 푓 = 푇 − 푇 − 1 푚퐴+1 푚퐵+ 푟퐴×푁0 퐼퐴 푟퐴×푁0 + 푟퐵×푁0 퐼퐴 (푟퐵 × 푁0) • 푟퐴 = 푃0 − 푥퐴, 푟퐵 = 푃0 – 푥퐵 + − • 푣퐴 = 푣퐴 + 푓푁0/푚퐴 + − − • 휔퐴 = 휔퐴 + + 퐼퐴 (푟퐴 × (푓푁0)) • Push away from interpenetration as long as interpenetration exists Naive Take • Jitters a lot, and does not support stacking • May be acceptable in very sparse scenarios (space/flight simulator) Naive Take 2 • Apply the constraints to the objects in pairs • Apply again during the same tick • Average/combine the various impulses • Push apart objects so they do not penetrate Naive Take 2 • Apply the constraints to the objects in pairs • Apply again during the same tick • Average/combine the various impulses • Push apart objects so they do not penetrate • Constraints are still broken • Slow Unconstrained Kinematics • A rigid body is characterized by • 푥 = 푣 • 푞 = 1/2휔푞 Unconstrained Kinematics • For a system of N bodies, we can define the system derivative as 푣1 휔1 푉 = ⋮ 푣푛 휔푛 Constraints • Our system allows pairwise constraints between bodies • The k-th constraint, between bodies i and j , has the form 퐶푘 (푥푖, 푞푖, 푥푗, 푞푗) = 0 • The vector C holds all the constraints. 퐶 = 0, or 퐶(푥) = 0, is a function of the state vector, so by the chain rule 퐶 = 퐽푉 = 0 Constraint forces • Each constraint causes a reaction force 푓푐 and a reaction torque τ푐 • The vector of all reaction forces is 푓 푐1 휏 푐1 퐹푐 = ⋮ 푓 푐푛 휏 푐푛 Constraint forces We know that 퐶 = 퐽푉 = 0 퐽1 ∙ 푉 • 퐽푉 = ⋮ = 0 퐽푚 ∙ 푉 • This means that 푉 is orthogonal to each row of 퐽 Constraint forces We know that 퐶 = 퐽푉 = 0 퐽1 ∙ 푉 • 퐽푉 = ⋮ = 0 퐽푚 ∙ 푉 • This means that 푉 is orthogonal to each row of 퐽 Constraint forces • Constraint forces perform no work, so 퐹푐 ∙ 푉 = 0 Contact Constraint velocity Contact Constraint velocity F Contact Constraint adjusted velocity velocity 퐹푐 ∙ 푉 = 0 F Distance Constraint Distance Constraint velocity velocity F1 F2 velocity F1 blend forces: 퐹1휆1 + 퐹2휆2 F2 Constraint forces 푇 • We can use 퐹푐 = 퐽 휆 for some vector 휆 of undetermined (Lagrangian) force multipliers 푇 퐹푐 ∙ 푉 = 퐽 휆 ∙ 푉 = 퐽푖휆푖 ∙ 푉= 퐽푖 ∙ 푉휆푖 푖 푖 = 0 ∙ 휆푖 = 0 푖 Constraint forces • We compute the matrix 퐽 of constraints from the collision system • We then solve for 휆, compute 퐹푐, and finally obtain 푉 Distance constraints • The simplest constraint is a distance constraint • Two points of two bodies must remain at a given distance 1 • 퐶 (푥 , 푞 , 푥 , 푞 ) = ( p − p 2 − 퐿2) = 0 푖 푖 푗 푗 2 j i • If we derive this, we get (푑 = 푝푗 − 푝푖 ) 퐶(푥푖, 푞푖, 푥푗, 푞푗) = 푑 ∙ (푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖 ) • We split this into a rowa rowfor of 퐽 J and a partsome columns of 푉: of V 푇 푇 푇 푇 퐶 푥푖, 푞푖, 푥푗, 푞푗 = −푑 − 푟푖 × 푑 푑 푟푗 × 푑 푇 푣푖휔푖푣푗휔푗 Distance constraints • Note that a row of J also contains many zeroes (6 × (푁푏표푑푖푒푠 − 2)) • The only columns that are not zeroed are those corresponding to the bodies i and j • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = 푇 푇 0 ⋯ 0 푇 푇 ⋯ 0 − 푑 − 푟푖 × 푑 푑 푟푗 × 푑 ⋯ 0 푉 a row of J Contact constraints • The contact constraint measures the object separation; it is negative in case of overlap • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = (푥푗 + 푟푗 − 푥푖 − 푟푖 ) ∙ 푛푖 = 0 • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = (푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖 ) ∙ 푛푖 + (푥푗 + 푟푗 − 푥푖 − 푟푖 ) ∙ 휔푖 × 푛푖 • We assume that both penetration and angular velocity are small, so we ignore the second term • 퐶 푥푖, 푞푖, 푥푗, 푞푗 ≈ (푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖) ∙ 푛푖 Contact constraints • We can now separate 퐶 into 퐽 and 푉: • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = 푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖 ∙ 푛푖 = 푇 푇 푇 푇 푇 −푛 − 푟 × 푛 푛 푟 × 푛 푣 휔 푣 휔 푖 푖 푖 푖 푗 푖 푖 푖 푗 푗 Contact constraints • Notice that the force between bodies in contact can push them apart, but not pull them together • This means that 0 ≤ 휆푘 ≤ +∞, where 푘 is the constraint index for a contact constraint Contact constraints • Due to numerical errors or issues with discrete steps penetration might happen anyway • We allow the velocity to be modulated by a pushing factor which is proportional to the penetration • This means that for contact constraints 1 퐽 푉 = − 훽퐶 , for 훽 ≤ 푖 푖 ∆푡 Friction constraints • Friction constraints are very similar to contact constraints • Friction happens along the tangent plane, so we have two constraints (one for ui = T and one for uj = B) • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = 푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖 ∙ 푢푖 = 푇 푇 푇 푇 푇 −푢 − 푟 × 푢 푢 푟 × 푢 푣 휔 푣 휔 푖 푖 푖 푖 푗 푖 푖 푖 푗 푗 • 퐶 푥푖, 푞푖, 푥푗, 푞푗 = 푣푗 + 휔푗 × 푟푗 − 푣푖 − 휔푖 × 푟푖 ∙ 푢푗 = 푇 − 푇 푇 푇 푇 −푢푗 푟푖 × 푢푗 푢푗 푟푗 × 푢푗 푣푖 휔푖 푣푗 휔푗 Friction constraints • We must also bound the friction value (this is an approximation) to take the friction coefficient into account • −휇푚푐푔 ≤ 휆푢1 ≤ 휇푚푐푔 and −휇푚푐푔 ≤ 휆푢2 ≤ 휇푚푐푔, where 푚푐 is the mass assigned to the contact point Equations of motion • We now integrate our constraint system with the equations of motion • We know the Newton - Euler equations of motion are • 푚푣 = 퐹 = 푓푐 + 푓푒푥푡 • 퐼휔 = 휏 = 휏푐 + 휏푒푥푡 Equations of motion • We can define a single matrix for all the bodies 푚1퐸3푥3 0 ⋯ 0 0 0 ⋯ 0 0 퐼1 푀 = ⋮ ⋮ ⋱ ⋮ ⋮ ⋯ 0 0 푚푛퐸3푥3 0 ⋯ 0 0 0 퐼푛 • 퐸3푥3 is the identity matrix Equations of motion • We can easily invert this matrix (푚 퐸 −1 ⋯ 0 0 1 3푥3) 0 −1⋯ 0 0 0 퐼1 푀−1 = ⋮ ⋮ ⋱ ⋮ ⋮ ⋯ 0 −1 0 (푚푛퐸3푥3 0 ⋯ 0 ) −1 0 0 퐼푛 Equations of motion • We define a single vector for all the external forces 푓 푒푥푡1 휏 푒푥푡1 • 퐹푒푥푡 = ⋮ 푓 푒푥푡푛 휏 푒푥푡푛 Equations of motion 푇 • Since we know that 퐹퐶 = 퐽 휆, we can rewrite the equations of motion for 푛 bodies as 푀푉 = 퐽푇휆 + 퐹 푒푥푡 퐽푉 = 휀 • 휀 is the vector of force offsets which allows contact forces to perform work • We have too many unknowns: 푉, 푉 , and 휆 Equations of motion 푇 • Since we know that 퐹퐶 = 퐽 휆, we can rewrite the equations of motion for 푛 bodies as 푀푉 = 퐽푇휆 + 퐹 푒푥푡 퐽푉 = 휀 • 휀 is the vector of force offsets which allows contact forces to perform work • We have too many unknowns: 푉, 푉 , and 휆 Equations of motion V −V • We approximate 푉 ≈ 2 1 ∆푡 V −V 푀 2 1 = 퐽푇휆 + 퐹푒 • We replace 푉 ∆푡 푥푡 퐽푉2 = 휀 • We solve for −1 푇 푉2 = ∆푡푀 퐽 휆 + 퐹푒푥푡 + 푉1 푉2 푇 푉2 = 퐽 휀 Equations of motion V −V • We approximate 푉 ≈ 2 1 ∆푡 V −V 푀 2 1 = 퐽푇휆 + 퐹푒 • We replace 푉 ∆푡 푥푡 퐽푉2 = 휀 • We solve for −1 푇 푉2 = ∆푡푀 퐽 휆 + 퐹푒푥푡 + 푉1 푉2 푇 푉2 = 퐽 휀 Equations of motion V −V • We approximate 푉 ≈ 2 1 ∆푡 V −V 푀 2 1 = 퐽푇휆 + 퐹푒 • We replace 푉 ∆푡 푥푡 퐽푉2 = 휀 • We solve for −1 푇 푉2 = ∆푡푀 퐽 휆 + 퐹푒푥푡 + 푉1 푉2 푇 푉2 = 퐽 휀 Equations of motion • We can now finish solving for 휆 푇 −1 푇 • 퐽 휀 = ∆푡푀 퐽 휆 + 퐹푒푥푡 + 푉1 푇 −1 −1 푇 • 퐽 휀 − 푉1 − ∆푡푀 퐹푒푥푡 = ∆푡푀 (퐽 휆) −1 −1 푇 • 휀 − 퐽푉1 − ∆푡퐽푀 퐹푒푥푡 = ∆푡퐽푀 퐽 휆 Equations of motion • Once 휆 is computed, we can determine 퐹푐 , 퐹, and then 푉2 • A regular integration step is then performed with the new velocities 푉2 Iterative Solution • The equation can be restated in simpler form: 휀 퐽푉1 −1 −1 푇 • − − 퐽푀 퐹 = 퐽푀 퐽 휆 ∆푡 ∆푡 푒푥푡 b A x • 퐴푥 = 푏 for some 퐴, 푏 • These systems can be solved iteratively with a method such as Projected Gauss-Seidel (PGS) Projected Gauss-Seidel • while not converged – ∆푥푖 = (푏푖 − 푗 푎푖푗푥푗 )/퐴푖푖 – 푥 = clamp(푥 + ∆푥 , 푚푖푛 , 푚푎푥 ) i 푖 푖 푖 푖 Iterative Solution • A is going to be very sparse – You may optimize the summation ∆푥푖 = (푏푖 − 푗 푎푖푗푥푗 )/퐴푖푖 a lot by ignoring the zero entries of A Contact caching (warm start) • PGS is faster the closer the initial x vector is to the solution • If we store previous contact points and their 휆i values, PGS converges sooner State Broad Narrow Collision Update Phase Phase Response Physics Libraries • PhysX, Box2D, Chipmunk Physics and Bullet Physics .
Recommended publications
  • Agx Multiphysics Download
    Agx multiphysics download click here to download A patch release of AgX Dynamics is now available for download for all of our licensed customers. This version include some minor. AGX Dynamics is a professional multi-purpose physics engine for simulators, Virtual parallel high performance hybrid equation solvers and novel multi- physics models. Why choose AGX Dynamics? Download AGX product brochure. This video shows a simulation of a wheel loader interacting with a dynamic tree model. High fidelity. AGX Multiphysics is a proprietary real-time physics engine developed by Algoryx Simulation AB Create a book · Download as PDF · Printable version. AgX Multiphysics Toolkit · Age Of Empires III The Asian Dynasties Expansion. Convert trail version Free Download, product key, keygen, Activator com extended. free full download agx multiphysics toolkit from AYS search www.doorway.ru have many downloads related to agx multiphysics toolkit which are hosted on sites like. With AGXUnity, it is possible to incorporate a real physics engine into a well Download from the prebuilt-packages sub-directory in the repository www.doorway.rug: multiphysics. A www.doorway.ru app that runs a physics engine and lets clients download physics data in real Clone or download AgX Multiphysics compiled with Lua support. Agx multiphysics toolkit. Developed physics the was made dynamics multiphysics simulation. Runtime library for AgX MultiPhysics Library. How to repair file. Original file to replace broken file www.doorway.ru Download. Current version: Some short videos that may help starting with AGX-III. Example 1: Finding a possible Pareto front for the Balaban Index in the Missing: multiphysics.
    [Show full text]
  • Rifle Hunting
    TABLE OF CONTENTS Hunting and Outdoor Skills Member Manual ACKNOWLEDGEMENTS A. Introduction to Hunting 1. History of Hunting 5 2. Why We Hunt 10 3. Hunting Ethics 12 4. Hunting Laws and Regulations 20 5. Hunter and Landowner Relations 22 6. Wildlife Management and the Hunter 28 7. Careers in Hunting, Shooting Sports and Wildlife Management 35 B. Types of Hunting 1. Hunting with a Rifle 40 2. Hunting with a Shotgun 44 3. Hunting with a Handgun 48 4. Hunting with a Muzzleloading 51 5. Bowhunting 59 6. Hunting with a Camera 67 C. Outdoor and Hunting Equipment 1. Use of Map and Compass 78 2. Using a GPS 83 3. Choosing and Using Binoculars 88 4. Hunting Clothing 92 5. Cutting Tools 99 D. Getting Ready for the Hunt 1. Planning the Hunt 107 2. The Hunting Camp 109 3. Firearm Safety for the Hunter 118 4. Survival in the Outdoors 124 E. Hunting Skills and Techniques 1. Recovering Game 131 2. Field Care and Processing of Game 138 3. Hunting from Stands and Blinds 144 4. Stalking Game Animals 150 5. Hunting with Dogs 154 F. Popular Game Species 1. Hunting Rabbits and Hares 158 2. Hunting Squirrels 164 3. Hunting White-tailed Deer 171 4. Hunting Ring-necked Pheasants 179 5. Hunting Waterfowl 187 6. Hunting Wild Turkeys 193 2 ACKNOWLEDGEMENTS The 4-H Shooting Sports Hunting Materials were first put together about 25 years ago. Since that time there have been periodic updates and additions. Some of the authors are known, some are unknown. Some did a great deal of work; some just shared morsels of their expertise.
    [Show full text]
  • Reinforcement Learning for Manipulation of Collections of Objects Using Physical Force fields
    Bachelor’s thesis Czech Technical University in Prague Faculty of Electrical Engineering F3 Department of Control Engineering Reinforcement learning for manipulation of collections of objects using physical force fields Dominik Hodan Supervisor: doc. Ing. Zdeněk Hurák, Ph.D. Field of study: Cybernetics and Robotics May 2020 ii BACHELOR‘S THESIS ASSIGNMENT I. Personal and study details Student's name: Hodan Dominik Personal ID number: 474587 Faculty / Institute: Faculty of Electrical Engineering Department / Institute: Department of Control Engineering Study program: Cybernetics and Robotics II. Bachelor’s thesis details Bachelor’s thesis title in English: Reinforcement learning for manipulation of collections of objects using physical force fields Bachelor’s thesis title in Czech: Posilované učení pro manipulaci se skupinami objektů pomocí fyzikálních silových polí Guidelines: The goal of the project is to explore the opportunities that the framework of reinforcement learning offers for the task of automatic manipulation of collections of objects using physical force fields. In particular, force fields derived from electric and magnetic fields shaped through planar regular arrays of 'actuators' (microelectrodes, coils) will be considered. At least one of the motion control tasks should be solved: 1. Feedback-controlled distribution shaping. For example, it may be desired that a collection of objects initially concentrated in one part of the work arena is finally distributed uniformly all over the surface. 2. Feedback-controlled mixing, in which collections objects of two or several types (colors) - initially separated - are blended. 3. Feedback-controlled Brownian motion, in which every object in the collection travels (pseudo)randomly all over the surface. Bibliography / sources: [1] D.
    [Show full text]
  • PDF Download Learning Cocos2d
    LEARNING COCOS2D : A HANDS-ON GUIDE TO BUILDING IOS GAMES WITH COCOS2D, BOX2D, AND CHIPMUNK PDF, EPUB, EBOOK Rod Strougo | 640 pages | 28 Jul 2011 | Pearson Education (US) | 9780321735621 | English | New Jersey, United States Learning Cocos2D : A Hands-On Guide to Building iOS Games with Cocos2D, Box2D, and Chipmunk PDF Book FREE U. With the introduction of iOS5, many security issues have come to light. You will then learn to add scenes to the game such as the gameplay scene and options scene and create menus and buttons in these scenes, as well as creating transitions between them. Level design and asset creation is a time consuming portion of game development, and Chipmunk2D can significantly aid in creating your physics shapes. However, they are poor at providing specific, actionable data that help game designers make their games better for several reasons. The book starts off with a detailed look at how to implement sprites and animations into your game to make it livelier. You should have some basic programming experience with Objective-C and Xcode. This book shows you how to use the powerful new cocos2d, version 2 game engine to develop games for iPhone and iPad with tilemaps, virtual joypads, Game Center, and more. The user controls an air balloon with his device as it flies upwards. We will create a game scene, add background image, player and enemy characters. Edward rated it really liked it Aug 13, Marketing Pearson may send or direct marketing communications to users, provided that Pearson will not use personal information collected or processed as a K school service provider for the purpose of directed or targeted advertising.
    [Show full text]
  • Pymunk Documentation Release 3.0.0
    pymunk Documentation Release 3.0.0 Victor Blomqvist April 27, 2015 Contents 1 Getting Started 3 2 The pymunk Vision 5 3 Contact & Support 7 4 Contents 9 4.1 Readme..................................................9 4.2 News................................................... 10 4.3 Installation................................................ 12 4.4 API Reference.............................................. 14 4.5 Examples................................................. 39 4.6 Tutorials................................................. 56 4.7 Advanced................................................. 67 5 Indices and tables 71 Python Module Index 73 i ii pymunk Documentation, Release 3.0.0 pymunk is a easy-to-use pythonic 2d physics library that can be used whenever you need 2d rigid body physics from Python. Perfect when you need 2d physics in your game, demo or other application! It is built on top of the very nice 2d physics library Chipmunk. Contents 1 pymunk Documentation, Release 3.0.0 2 Contents CHAPTER 1 Getting Started To get started quickly take a look in the Readme, it contains a summary of the most important things and is quick to read. When done its a good idea to take a look at the included Examples, read the Tutorials and take a look in the API Reference. 3 pymunk Documentation, Release 3.0.0 4 Chapter 1. Getting Started CHAPTER 2 The pymunk Vision “Make 2d physics easy to include in your game“ It is (or is striving to be): • Easy to use - It should be easy to use, no complicated stuff should be needed to add physics to your game/program. • “Pythonic” - It should not be visible that a c-library (chipmunk) is in the bottom, it should feel like a python library (no strange naming, OO, no memory handling and more) • Simple to build & install - You shouldn’t need to have a zillion of libraries installed to make it install, or do a lot of command line tricks.
    [Show full text]
  • Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context
    sensors Systematic Review Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context Caio Camargo 1, José Gonçalves 1,2,3 , Miguel Á. Conde 4,* , Francisco J. Rodríguez-Sedano 4, Paulo Costa 3,5 and Francisco J. García-Peñalvo 6 1 Instituto Politécnico de Bragança, 5300-253 Bragança, Portugal; [email protected] (C.C.); [email protected] (J.G.) 2 CeDRI—Research Centre in Digitalization and Intelligent Robotics, 5300-253 Bragança, Portugal 3 INESC TEC—Institute for Systems and Computer Engineering, 4200-465 Porto, Portugal; [email protected] 4 Robotics Group, Engineering School, University of León, Campus de Vegazana s/n, 24071 León, Spain; [email protected] 5 Universidade do Porto, 4200-465 Porto, Portugal 6 GRIAL Research Group, Computer Science Department, University of Salamanca, 37008 Salamanca, Spain; [email protected] * Correspondence: [email protected] Abstract: This paper presents a systematic literature review (SLR) about realistic simulators that can be applied in an educational robotics context. These simulators must include the simulation of actuators and sensors, the ability to simulate robots and their environment. During this systematic review of the literature, 559 articles were extracted from six different databases using the Population, Intervention, Comparison, Outcomes, Context (PICOC) method. After the selection process, 50 selected articles were included in this review. Several simulators were found and their features were also Citation: Camargo, C.; Gonçalves, J.; analyzed. As a result of this process, four realistic simulators were applied in the review’s referred Conde, M.Á.; Rodríguez-Sedano, F.J.; context for two main reasons. The first reason is that these simulators have high fidelity in the robots’ Costa, P.; García-Peñalvo, F.J.
    [Show full text]
  • Physics-Based Simula1on
    Physics-based Simula1on • simple (independent par1cles), or complex (robust colliding, stacking, sliding 3D rigid bodies) • many many simulators! – PhysX (Unity, Unreal), Bullet, Open Dynamics Engine, MuJoCo, Havok, Box2D, Chipmunk, OpenSim, RBDL, Simulink (MATLAB), ADAMS, SD/FAST, DART, Vortex, SOFA, Avatar, Project Chrono, Cannon.js, … – many course projects, theses, abandon-ware Resources • hUps://processing.org/examples/ see “Simulate”; 2D par1cle systems • Non-convex rigid bodies with stacking 3D collision processing and stacking hUp://www.cs.ubc.ca/~rbridson/docs/rigid_bodies.pdf • Physically-based Modeling, course notes, SIGGRAPH 2001, Baraff & Witkin hUp://www.pixar.com/companyinfo/research/pbm2001/ • Doug James CS 5643 course notes hUp://www.cs.cornell.edu/courses/cs5643/2015sp/ • Rigid Body Dynamics, Chris Hecker hUp://chrishecker.com/Rigid_Body_Dynamics • Video game physics tutorial hUps://www.toptal.com/game/video-game-physics-part-i-an-introduc1on-to-rigid-body-dynamics • Box2D javascript live demos hUp://heikobehrens.net/misc/box2d.js/examples/ • Rigid body collisions javascript demo hUps://www.myphysicslab.com/engine2D/collision-en.html • Rigid Body Collision Reponse, Michael Manzke, course slides hUps://www.scss.tcd.ie/Michael.Manzke/CS7057/cs7057-1516-09-CollisionResponse-mm.pdf • Rigid Body Dynamics Algorithms. Roy Featherstone, 2008 • Par1cle-based Fluid Simula1on for Interac1ve Applica1ons, SCA 2003, PDF • Stable Fluids, Jos Stam, SIGGRAPH 1999. interac1ve demo: hUps://29a.ch/2012/12/16/webgl-fluid-simula1on Simula1on
    [Show full text]
  • Input Preparation, Data Visualization & Analysis
    Input Preparation, Data Visualization & Analysis June 8, 2013 LA-SiGMA Baton Rouge, LA Dr. Marcus D. Hanwell [email protected] http://openchemistry.org/ 1 Outline • Introduction • Kitware • Open Chemistry • Avogadro 2 • MoleQueue • MongoChem • The Future • Summary 2 Introduction • User-friendly desktop integration with – Computational codes – HPC/cloud resources – Database/informatics resources 3 Introduction • Bringing real change to chemistry – Open-source frameworks – Developed openly – Cross-platform compatibility – Tested and verified – Contribution model – Supported by Kitware experts • Liberally-licensed to facilitate research 4 Open Chemistry Development Team • Inter-disciplinary team at Kitware • The first three worked on open-source chemistry in their spare time • The final two are computer scientists with years of open-source experience • Seeking partners in industry & research, labs 5 Outline • Introduction • Kitware • Open Chemistry • Avogadro 2 • MoleQueue • MongoChem • The Future • Summary 6 Kitware • Founded in 1998 by five former GE Research employees • 118 current employees; 39 with PhDs • Privately held, profitable from creation, no debt • Rapidly Growing: >30% in 2011, 7M web-visitors/quarter • Offices • 2011 Small Business – Clifton Park, NY Administration’s Tibbetts Award – Carrboro, NC • HPCWire Readers – Santa Fe, NM and Editor’s Choice – Lyon, France • Inc’s 5000 List: 2008 to 2011 Kitware: Core Technologies CMake CDash 8 Supercomputing Visualization • Scientific Visualization • Informatics • Large Data
    [Show full text]
  • Physics-Based Simulabon
    Physics-based Simulaon • simple (independent par1cles), or complex (robust colliding, stacking, sliding 3D rigid bodies) • many many simulators! – PhysX (Unity, Unreal), Bullet, Open Dynamics Engine, MuJoCo, Havok, Box2D, Chipmunk, OpenSim, RBDL, Simulink (MATLAB), ADAMS, SD/FAST, DART, Vortex, SOFA, Avatar, Project Chrono, Cannon.js, … – many course projects, theses, abandon-ware Resources • hUps://processing.org/examples/ see “Simulate”; 2D par1cle systems • Non-convex rigid bodies with stacking 3D collision processing and stacking hUp://www.cs.ubc.ca/~rbridson/docs/rigid_bodies.pdf • Physically-based Modeling, course notes, SIGGRAPH 2001, Baraff & Witkin hUp://www.pixar.com/companyinfo/research/pbm2001/ • Doug James CS 5643 course notes hp://www.cs.cornell.edu/courses/cs5643/2015sp/ • Rigid Body Dynamics, Chris Hecker hUp://chrishecker.com/Rigid_Body_Dynamics • Video game physics tutorial hUps://www.toptal.com/game/video-game-physics-part-i-an-introduc1on-to-rigid-body-dynamics • Box2D javascript live demos hUp://heikobehrens.net/misc/box2d.js/examples/ • Rigid body collisions javascript demo hUps://www.myphysicslab.com/engine2D/collision-en.html • Rigid Body Collision Reponse, Michael Manzke, course slides hUps://www.scss.tcd.ie/Michael.Manzke/CS7057/cs7057-1516-09-CollisionResponse-mm.pdf • Rigid Body Dynamics Algorithms. Roy Featherstone, 2008 • Par1cle-based Fluid Simulaon for Interac1ve Applicaons, SCA 2003, PDF • Stable Fluids, Jos Stam, SIGGRAPH 1999. interac1ve demo: hUps://29a.ch/2012/12/16/webgl-fluid-simulaon Simulaon Basics
    [Show full text]
  • A Quick Prototyping Tool for Serious Games with Real Time Physics
    Technische Universität München Fakultät für Informatik Master’s Thesis in Computational Science and Engineering A quick prototyping tool for serious games with real time physics Juan Haladjian Technische Universität München Fakultät für Informatik Master’s Thesis in Computational Science and Engineering A quick prototyping tool for serious games with real time physics Juan Haladjian Date: 26.09.2011 Supervisor: Prof. Bernd Brügge, Ph.D Advisor: Dipl.-Inf. Univ. Damir Ismailović Ich versichere, dass ich diese Diplomarbeit selbständig verfasst habe und nur die angegebenen Quellen und Hilfsmittel verwendet habe. München,den26.09.2011, .......................... (Juan Haladjian) v Acknowledgments I would like to express my gratitude to Prof. Bernd Brügge for making me part of his research team. Special gratitude goes to my supervisor Damir for his great ideas, constant support and ability to motivate. I am also pleased to acknowledge Barbara’s tips on usability of my application and Jelena’s corrections of this document. vii Contents 1Introduction 1 1.1 Outline .................................... 1 2TheoreticalBackground 3 2.1 Software Prototyping ............................ 3 2.1.1 Prototype Based Programming .................. 4 2.1.2 Domain Specific Language (DSL) ................. 5 2.2 Serious Games ................................ 7 2.2.1 Definition .............................. 7 2.2.2 Game Engineering ......................... 8 2.2.3 Serious Game Engineering ..................... 11 2.3 Multitouch Gestures ............................ 12 3Casestudy 15 3.1 Development ................................ 16 3.2 The Rope Game ............................... 16 3.3 Observed Problems ............................. 18 3.3.1 Complexity of Physics ....................... 19 3.3.2 Changes in the Requirements ................... 20 4RequirementsSpecification 22 4.1 Related Work ................................ 22 4.1.1 Physics Editors ........................... 22 4.1.2 Sprite Helpers ...........................
    [Show full text]
  • Basic Game Physics Introduc6on (1 of 2)
    4/5/17 Basic Game Physics IMGD 4000 With material from: Introducon to Game Development, Second EdiBon, Steve Rabin (ed), Cengage Learning, 2009. (Chapter 4.3) and Ar)ficial Intelligence for Games, Ian Millington, Morgan Kaufmann, 2006 (Chapter 3) IntroducBon (1 of 2) • What is game physics? – Compung mo)on of objects in virtual scene • Including player avatars, NPC’s, inanimate objects – Compung mechanical interacons of objects • InteracBon usually involves contact (collision) – Simulaon must be real-Bme (versus high- precision simulaon for CAD/CAM, etc.) – Simulaon may be very realisBc, approXimate, or intenBonally distorted (for effect) 2 1 4/5/17 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) – Maturaon 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-specificaon opBmizaons • Greater opportunity to innovate • Cost guaranteed to be eXpensive (unless features eXtremely minimal) 4 2 4/5/17 Physics Engines • Open source – BoX2D, Bullet, Chipmunk, JigLib, ODE, OPAL, OpenTissue, PAL, Tokamak, Farseer, Physics2d, Glaze • Closed source (limited free distribuBon) – Newton Game Dynamics,
    [Show full text]
  • Creating Physics Aware Games Using Pygame and Pyode
    The Python Papers Monograph 2: 20 Proceedings of PyCon Asia-Pacific 2010 Creating Physics Aware Games using PyGame and PyODE Noufal Ibrahim KV Consulting software developer and architect [email protected] Abstract This paper is a tutorial on how to use a popular physics engine and tie it up to a simple 2D game. It is structured as a tutorial for creating a simple game that uses the engine and a graphics library. The graphics library being used will be PyGame (which are Python bindings for the popular SDL library originally developed by Loki Entertainment Software) and the physics engine being used will be PyODE (which are Python bindings for the Open Dynamics Engine). A few toy programs will be written and discussed to introduce the components and the bulk of the paper will be the development of a simple game. The game which will be developed is a clone of “The incredible machine” (which is a famous game published by Sierra Entertainment in 1992). 1. Introduction The video game industry has been growing since the first commercial computers. From the initial days of crude simulations like Pong to the almost movie like Crysis, computer games have pushed the envelopes of technology and coaxed computers to deliver more than what was thought possible. While the bulk of games were produced by large companies with dedicated programmers, artists, story writers etc., there has always been a small but influential independent game developer community that has produced masterpieces. In the mid-90s, the influence of the free software movement gave independent developers new tools to collaborate, share their programs and monetise their works.
    [Show full text]