Course CPG201
Understanding and Working with Physics Engines
Understanding and Working with Physics Engines
Duration: 5 Days
Intended Audience
The course will be useful to a wide range of interests including physicists, scientists, games developers, film makers animators and catoonists, as well as mathematicians, physiologists, psychologists and sports scientists. It is a broad ranging course whose goals are to inspire, fascinate and nurture a sense of curiosity, adventure and intellectual striving. Some paths and requirements that might draw someone to this course
- teachers of science and applied mathematics who want to enhance their communication and teachine skills via the medium of computer games and simulation
- games developers who feel that the quality of the games they are creating could be dramatically enhanced by making them more realistic by either conforming to, or, deviating from, the laws of physics
- planners and project managers who wish to creating realistic simulations in which to explore various scenarios
- medical physicists and physicians who wish to develop realistic simulators for training in various clinical procedures < /ol>
The course assumes a basic knowledge of senior school level ( A level ) physics and maths. Those who are rusty in this regard need not panic as the various ideas, concepts and underlying maths will be reviewed to a sufficient level where they can be applied and to understand the underlying algorithms and data structures that make for successful physics engines. The course emphasis is not so much on mastering the software of physics engines in detail, as in gaining an intuitive understanding of their strengths and limitations as well as their practical capabilities.
Course Overview
The purpose of this broad ranging course whose goals is to inspire, fascinate and nurture a sense of curiosity, adventure and intellectual striving by exploring a modeling approach to those aspects of the natural world addressed by physics. The topics covered, in fairly broad brushtrokes, in this course are developed further in some of our other more focused and specialised courses. It is possible to take this course first and then to study more specialised courses such as differential equations for computer games developers, or to come from such courses this course in order to gain a more balance overview of the relationship between computer games, physics, mathematics and modeling. The course concentrates mainly on games engines targeting classical physics and mechanics, and strategies for learning how to tackle working with complex frameworks and Application Programming Interfaces (APIs). The main parts of the course are laid out below. It goes without saying, that, as with most FTT courses, this course can be tailored and adapter in a variety of ways so as to form the basis of something more specialised. Attendees, coming to Carshalton, will have access to a wide variety of reference books that are part of FTT's extensive collection of books, reference papers and software resources.
Key Skills
- an integrated perspective on classical physics and its applicability for games devlopers and simulator developers
- strategies for mastering complex knowledge and software frameworks
- enhancing scientific and artistic creativity through an understanding and exploration of physics engines
- a foundation for greater and better things
Course Contents
- Basic Newtonian Mechanics
- units, measures, co-ordinate systems
- vectors and matrices
- centre of mass, angular momentum and moments of inertia
- Newton's laws of motion
- Inertia tensor, spinning tops and gyroscopes
- Basic Kinematics
- velocity and acceleration
- frames of reference
- motion of rigid bodies
- angular velocity and angular acceleration
- Forces
- force fields
- friction
- basics of drag and fluid dynamics
- Archimedes principle and buoyancy
- springs and dampers
- oscillations and waves
- Applied topics
- particles, bodies and collisions
- projectiles
- aircraft
- ships
- cars
- Strategies for representing and solving equations of motion
- integration of equations of motion
- physics and software strategies for modeling collision responses
- rotation and quaternions
- strategies for dealing with many body systems
- parallel computing strategies for modeling complex systems - an overview
- multi-threading
- working with cell-processor architectures
- computer clusters
- working with graphics processing units e.g. using CUDA
