Physics engine
Encyclopedia
A physics
Physics
Physics is a natural science that involves the study of matter and its motion through spacetime, along with related concepts such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the universe behaves.Physics is one of the oldest academic...

 engine is computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 that provides an approximate simulation
Computer simulation
A computer simulation, a computer model, or a computational model is a computer program, or network of computers, that attempts to simulate an abstract model of a particular system...

 of certain physical system
Physical system
In physics, the word system has a technical meaning, namely, it is the portion of the physical universe chosen for analysis. Everything outside the system is known as the environment, which in analysis is ignored except for its effects on the system. The cut between system and the world is a free...

s, such as rigid body dynamics
Rigid body dynamics
In physics, rigid body dynamics is the study of the motion of rigid bodies. Unlike particles, which move only in three degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moments of inertia, etc., that characterize motion in six degrees of...

 (including collision detection
Collision detection
Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

), soft body dynamics
Soft body dynamics
Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

, and fluid dynamics, of use in the domains of computer graphics
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....

, video games and film
Film
A film, also called a movie or motion picture, is a series of still or moving images. It is produced by recording photographic images with cameras, or by creating images using animation techniques or visual effects...

. Their main uses are in video games (typically as middleware), in which case the simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....

s are in real-time
Real-time computer graphics
Real-time computer graphics is the subfield of computer graphics focused on producing and analyzing images in real time. The term is most often used in reference to interactive 3D computer graphics, typically using a GPU, with video games the most noticeable users...

. The term is sometimes used more generally to describe any software system
Software system
A software system is a system based on software forming part of a computer system . The term "software system" is often used as a synonym of computer program or software; is related to the application of systems theory approaches in software engineering context and are used to study large and...

 for simulating physical phenomena, such as high-performance scientific simulation
High-performance computing
High-performance computing uses supercomputers and computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflops-region are counted as HPC-computers.-Overview:...

.

Description

There are generally two classes of physics engine
Software engine
In computer science, a software engine refers to the core of a computer program. Software engines drive the functionality of the program, and are distinct from peripheral aspects of the program, such as look and feel.- Elucidation :...

s: real-time
Real-time computer graphics
Real-time computer graphics is the subfield of computer graphics focused on producing and analyzing images in real time. The term is most often used in reference to interactive 3D computer graphics, typically using a GPU, with video games the most noticeable users...

 and high-precision. High-precision physics engines require more processing power to calculate very precise
Accuracy and precision
In the fields of science, engineering, industry and statistics, the accuracy of a measurement system is the degree of closeness of measurements of a quantity to that quantity's actual value. The precision of a measurement system, also called reproducibility or repeatability, is the degree to which...

 physics and are usually used by scientists and computer animated movies. Real-time physics engines—as used in video games and other forms of interactive computing—use simplified calculations and decreased accuracy to compute in time for the game to respond at an appropriate rate for gameplay.

Scientific engines

One of the first general purpose computers, ENIAC
ENIAC
ENIAC was the first general-purpose electronic computer. It was a Turing-complete digital computer capable of being reprogrammed to solve a full range of computing problems....

, was used as a very simple type of physics engine. It was used to design ballistics tables to help the United States military estimate where artillery
Artillery
Originally applied to any group of infantry primarily armed with projectile weapons, artillery has over time become limited in meaning to refer only to those engines of war that operate by projection of munitions far beyond the range of effect of personal weapons...

 shells of various mass would land when fired at varying angles and gunpowder charges, also accounting for drift caused by wind. The results were calculated a single time only, and were tabulated into printed tables handed out to the artillery commanders.

Physics engines have been commonly used on supercomputers since the 1980s to perform computational fluid dynamics
Computational fluid dynamics
Computational fluid dynamics, usually abbreviated as CFD, is a branch of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the calculations required to simulate the interaction of liquids and gases with...

 modeling, where particles are assigned force vectors that are combined to show circulation. Due to the requirements of speed and high precision, special computer processors known as vector processor
Vector processor
A vector processor, or array processor, is a central processing unit that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. This is in contrast to a scalar processor, whose instructions operate on single data items...

s were developed to accelerate the calculations. The techniques can be used to model weather patterns in weather forecasting
Weather forecasting
Weather forecasting is the application of science and technology to predict the state of the atmosphere for a given location. Human beings have attempted to predict the weather informally for millennia, and formally since the nineteenth century...

, wind tunnel data for designing air- and watercraft, and thermal cooling of computer processors for improving heat sink
Heat sink
A heat sink is a term for a component or assembly that transfers heat generated within a solid material to a fluid medium, such as air or a liquid. Examples of heat sinks are the heat exchangers used in refrigeration and air conditioning systems and the radiator in a car...

s. As with many calculation-laden processes in computing, the accuracy of the simulation is related to the resolution of the simulation and the precision of the calculations; small fluctuations
Butterfly effect
In chaos theory, the butterfly effect is the sensitive dependence on initial conditions; where a small change at one place in a nonlinear system can result in large differences to a later state...

 not modeled in the simulation can drastically change the predicted results.

Tire manufacturers use physics simulations to examine how new tire tread
Tread
The tread of a tire or track refers to the rubber on its circumference that makes contact with the road. As tires are used, the tread is worn off, limiting its effectiveness in providing traction. A worn tire tread can often be retreaded. The word tread is often used incorrectly to refer to the...

 types will perform under wet and dry conditions, using new tire materials of varying flexibility and under different levels of weight loading.

Game engines

In most computer games, speed of simulation, as well as so-called “gameplay” (simplified, it can be explained as “how fun the game is to play”), is more important than accuracy of simulation. This leads to designs for physics engines that produce results in real-time but that replicate real world physics only for simple cases and typically with some approximation. More often than not, the simulation is geared towards providing a "perceptually correct" approximation rather than a real simulation.

Collision detection

Objects in games interact with the player, the environment, and each other. Typically, most 3D objects in games are represented by two separate meshes or shapes. One of these meshes is the highly complex and detailed shape visible to the player in the game, such as a vase with elegant curved and looping handles. For purpose of speed, a second, simplified invisible mesh is used to represent the object to the physics engine so that the physics engine treats the example vase as a simple cylinder. It would thus be impossible to insert a rod or fire a projectile through the handle holes on the vase, because the physics engine models based on the cylinder and is unaware of the handles. The simplified mesh used for physics processing is often referred to as the collision geometry. This may be a bounding box, sphere, or convex hull
Convex hull
In mathematics, the convex hull or convex envelope for a set of points X in a real vector space V is the minimal convex set containing X....

. Engines that use bounding boxes or bounding spheres as the final shape for collision detection are considered extremely simple. Generally a bounding box is used for broad phase collision detection
Collision detection
Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

 to narrow down the number of possible collisions before costly mesh on mesh collision detection is done in the narrow phase of collision detection.

An alternative to using bounding box-based rigid body physics systems is to use a finite element-based system. In such a system, a 3-dimensional, volumetric tessellation
Tessellation
A tessellation or tiling of the plane is a pattern of plane figures that fills the plane with no overlaps and no gaps. One may also speak of tessellations of parts of the plane or of other surfaces. Generalizations to higher dimensions are also possible. Tessellations frequently appeared in the art...

 is created of the 3D object. The tessellation results in a number of finite elements which represent aspects of the object's physical properties such as toughness, plasticity, and volume preservation. Once constructed, the finite elements are used by a solver
Solver
A solver is a generic term indicating a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem. A solver takes problem descriptions in some sort of generic form and calculate their solution...

 to model the stress within the 3D object. The stress can be used to drive fracture, deformation and other physical effects with a high degree of realism and uniqueness. As the number of modeled elements is increased, the engine's ability to model physical behavior increases. The visual representation of the 3D object is altered by the finite element system through the use of a deformation shader run on the CPU or GPU. Finite Element-based systems had been impractical for use in games due to the performance overhead and the lack of tools to create finite element representations out of 3D art objects. With higher performance processors and tools to rapidly create the volumetric tessellations, real-time finite element systems began to be used in games, beginning with Star Wars: The Force Unleashed
Star Wars: The Force Unleashed
Star Wars: The Force Unleashed is a multimedia project developed by LucasArts along with Dark Horse Comics, Lego, Hasbro, and Del Rey Books...

that used Digital Molecular Matter
Digital Molecular Matter
Digital Molecular Matter, better known as simply DMM, is a proprietary middleware physics engine developed by Pixelux. It is designed for computer, video games, and other simulation needs by attempting to simulate physical real-world systems...

 for the deformation and destruction effects of wood, steel, flesh and plants using an algorithm developed by Dr. James O'Brien as a part of his PhD thesis.

Another unusual aspect of precision in discrete collision detection involves the framerate, or the number of moments in time per second when physics is calculated. Each frame is treated as separate from all other frames, and the space between frames is not calculated. A low framerate and a small fast-moving object causes a situation where the object does not move smoothly through space but instead seems to teleport from one point in space to the next as each frame is calculated. Projectiles moving at sufficiently high speeds will miss targets, if the target is small enough to fit in the gap between the calculated frames of the fast moving projectile. Various techniques are used to overcome this flaw, such as Second Life
Second Life
Second Life is an online virtual world developed by Linden Lab. It was launched on June 23, 2003. A number of free client programs, or Viewers, enable Second Life users, called Residents, to interact with each other through avatars...

s representation of projectiles as arrows with invisible trailing tails longer than the gap in frames to collide with any object that might fit between the calculated frames. By contrast, continuous collision detection such as in Bullet
Bullet (software)
Bullet is an open source physics engine featuring 3D collision detection, soft body dynamics, and rigid body dynamics. It is used in games, and in visual effects in movies. The Bullet physics library is published under the zlib license. Erwin Coumans, its main author, worked for Sony Computer...

 or Havok
Havok (software)
Havok Physics is a physics engine developed by Irish company Havok. It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

 does not suffer this problem.

Brownian motion

In the real world, physics is always active. There is a constant Brownian motion
Brownian motion
Brownian motion or pedesis is the presumably random drifting of particles suspended in a fluid or the mathematical model used to describe such random movements, which is often called a particle theory.The mathematical model of Brownian motion has several real-world applications...

 jitter to all particles in our universe as the forces push back and forth against each other. For a game physics engine, such constant active precision is unnecessarily wasting the limited CPU power, which can cause problems such as decreased framerate. Thus, games may put objects to "sleep" by disabling the computation of physics on objects that have not moved a particular distance within a certain amount of time. For example, in the 3D virtual world
Virtual world
A virtual world is an online community that takes the form of a computer-based simulated environment through which users can interact with one another and use and create objects. The term has become largely synonymous with interactive 3D virtual environments, where the users take the form of...

 Second Life
Second Life
Second Life is an online virtual world developed by Linden Lab. It was launched on June 23, 2003. A number of free client programs, or Viewers, enable Second Life users, called Residents, to interact with each other through avatars...

, if an object is resting on the floor and the object does not move beyond a minimal distance in about two seconds, then the physics calculations are disabled for the object and it becomes frozen in place. The object remains frozen until physics processing reactivates for the object after collision occurs with some other actively physical object.

Physics-based character animation in the past only used rigid body dynamics
Rigid body dynamics
In physics, rigid body dynamics is the study of the motion of rigid bodies. Unlike particles, which move only in three degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moments of inertia, etc., that characterize motion in six degrees of...

 because they are faster and easier to calculate, but modern games and movies are starting to use soft body physics
Soft body dynamics
Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

. Soft body physics are also used for particle effects, liquids and cloth. Some form of limited Fluid dynamics
Fluid dynamics
In physics, fluid dynamics is a sub-discipline of fluid mechanics that deals with fluid flow—the natural science of fluids in motion. It has several subdisciplines itself, including aerodynamics and hydrodynamics...

 simulation is sometimes provided to simulate water and other liquids as well as the flow of fire and explosions through the air.

Paradigms

Physics engines for video games typically have two core components, a collision detection
Collision detection
Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

/collision response
Collision response
In the context of classical mechanics simulations and physics engines employed within video games, collision response deals with models and algorithms for simulating the changes in the motion of two solid bodies following collision and other forms of contact....

 system, and the dynamics simulation
Dynamical simulation
Dynamical simulation, in computational physics, is the simulation of systems of objects that are free to move, usually in three dimensions according to Newton's laws of dynamics, or approximations thereto...

 component responsible for solving the forces affecting the simulated objects. Modern physics engines may also contain fluid simulations
Computational fluid dynamics
Computational fluid dynamics, usually abbreviated as CFD, is a branch of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the calculations required to simulate the interaction of liquids and gases with...

, animation control systems
Motion control
Motion control is a sub-field of automation, in which the position or velocity of machines are controlled using some type of device such as a hydraulic pump, linear actuator, or an electric motor, generally a servo...

 and asset integration
COLLADA
COLLADA is a COLLAborative Design Activity for establishing an interchange file format for interactive 3D applications. COLLADA is managed by the nonprofit technology consortium, the Khronos Group....

 tools. There are three major paradigms for the physical simulation of solids:
  • Penalty methods, where interactions are commonly modelled as mass-spring systems. This type of engine is popular for deformable, or soft-body physics
    Soft body dynamics
    Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

    .
  • Constraint based methods, where constraint equations
    Constraint (mathematics)
    In mathematics, a constraint is a condition that a solution to an optimization problem must satisfy. There are two types of constraints: equality constraints and inequality constraints...

     are solved that estimate physical laws.
  • Impulse based methods, where impulses are applied to object interactions.

Finally, hybrid methods are possible that combine aspects of the above paradigms.

Limitations

A primary limit of physics engine realism
Realism (visual arts)
Realism in the visual arts is a style that depicts the actuality of what the eyes can see. The term is used in different senses in art history; it may mean the same as illusionism, the representation of subjects with visual mimesis or verisimilitude, or may mean an emphasis on the actuality of...

 is the precision
Accuracy and precision
In the fields of science, engineering, industry and statistics, the accuracy of a measurement system is the degree of closeness of measurements of a quantity to that quantity's actual value. The precision of a measurement system, also called reproducibility or repeatability, is the degree to which...

 of the numbers representing the positions of and forces acting upon objects. When precision is too low, rounding errors affect results and small fluctuations
Butterfly effect
In chaos theory, the butterfly effect is the sensitive dependence on initial conditions; where a small change at one place in a nonlinear system can result in large differences to a later state...

 not modeled in the simulation can drastically change the predicted results; simulated objects can behave unexpectedly or arrive at the wrong location. The errors are compounded in situations where two free-moving objects are fit together with a precision that is greater than what the physics engine can calculate. This can lead to an unnatural buildup energy in the object due to the rounding errors that begins to violently shake and eventually blow the objects apart. Any type of free-moving compound physics object can demonstrate this problem, but it is especially prone to affecting chain links under high tension and wheeled objects with actively physical bearing surfaces. Higher precision reduces the positional/force errors, but at the cost of greater CPU power needed for the calculations.

Physics Processing Unit (PPU)

A Physics Processing Unit (PPU)
Physics processing unit
A physics processing unit is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and...

 handles the majority of physics processing instead of the CPU, similar to how a Graphic Processing Unit (GPU) performs most of the graphics calculations.
An early academic PPU research project named SPARTA (Simulation of Physics on A Real-Time Architecture) was carried out at Penn State and University of Georgia. This was a simple FPGA based PPU that was limited to two dimensions. This project was extended into a considerably more advanced ASIC
Application-specific integrated circuit
An application-specific integrated circuit is an integrated circuit customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC...

-based system named HELLAS.
February 2006 saw the release of the first dedicated PPU PhysX
PhysX
PhysX is a proprietary realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...

 from Ageia
AGEIA
Ageia, founded in 2002, was a fabless semiconductor company. Ageia invented PhysX – a Physics Processing Unit chip capable of performing game physics calculations much faster than general purpose CPUs; they also licensed out the PhysX SDK , a large physics middleware library for game...

 (later merged into nVidia
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

). The unit is most effective in accelerating particle systems
Particle Systems
Particle Systems Ltd. was a computer game developer based in Sheffield, England. The company was founded by Glyn Williams and Michael Powell. Games developed by Particle Systems include Independence War and its sequel Independence War 2: Edge of Chaos...

, with only a small performance improvement measured for rigid body physics. The Ageia PPU is documented in depth in their US patent application #20050075849.


General Purpose processing on Graphics Processing Unit (GPGPU)

GPGPU
GPGPU
General-purpose computing on graphics processing units is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...

 ("General Purpose processing on Graphics Processing Unit") is another promising approach for realtime
Real-time computer graphics
Real-time computer graphics is the subfield of computer graphics focused on producing and analyzing images in real time. The term is most often used in reference to interactive 3D computer graphics, typically using a GPU, with video games the most noticeable users...

 physics engines, including rigid body dynamics. With this approach, the GPU supports some physics processing.
ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...

 and NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 provide rigid body dynamics on their latest graphics cards. NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

's GeForce 8 Series
GeForce 8 Series
The GeForce 8 Series, is the eighth generation of NVIDIA's GeForce line of graphics processing units. The third major GPU architecture developed at NVIDIA, the GeForce 8 represents the company's first unified shader architecture.-Naming:...

 supports a GPU-based Newtonian physics acceleration technology named Quantum Effects Technology - which will compete directly with the PhysX
PhysX
PhysX is a proprietary realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...

 PPU
Physics processing unit
A physics processing unit is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and...

 hardware. NVIDIA provides an SDK Toolkit for what they call CUDA
CUDA
CUDA or Compute Unified Device Architecture is a parallel computing architecture developed by Nvidia. CUDA is the computing engine in Nvidia graphics processing units that is accessible to software developers through variants of industry standard programming languages...

 (Compute Unified Device Architecture) technology that offers both a low and high-level API to the GPU. ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...

 & AMD offer a similar SDK for their ATI-based GPUs and that SDK and technology is called CTM (Close to Metal
Close to Metal
Close To Metal is the name of a beta version of a low-level programming interface developed by ATI , aimed at enabling GPGPU computing...

) which provides a thin hardware interface. AMD has also announced the AMD Fusion
AMD Fusion
AMD Fusion is the marketing name for a series of APUs by AMD. There are two flavors of Fusion currently available, one with its CPU logic based on the Bobcat core and the other its CPU logic based on the 10h core. In both cases the GPU logic is HD6xxx, which itself is based on the mobile variant of...

 product line which combines a CPU and GPU technology on one chip.

Real-time physics engines

Open source

  • Box2D
    Box2D
    Box2D is a free open source 2-dimensional physics simulator engine written in C++ by Erin Catto and published under the zlib license. It has been used in Crayon Physics Deluxe, Rolando, Fantastic Contraption, Incredibots, Angry Birds, Tiny Wings, Transformice, Stripe physics2, and many online Flash...

  • Bullet
    Bullet (software)
    Bullet is an open source physics engine featuring 3D collision detection, soft body dynamics, and rigid body dynamics. It is used in games, and in visual effects in movies. The Bullet physics library is published under the zlib license. Erwin Coumans, its main author, worked for Sony Computer...

  • Chipmunk physics engine
    Chipmunk physics engine
    The Chipmunk SDK is a portable open-source 2D physics engine written in C99 by Scott Lembcke and published under the MIT license. Middleware physics engines like Chipmunk allow game developers to avoid writing their own code to handle the complex physics interactions possible in modern games...

    -2D physics engine
  • Farseer Physics Engine
    Farseer Physics Engine
    The Farseer Physics Engine is an open source physics engine for the Microsoft .NET platform. They have official releases for Silverlight as well as Microsoft XNA, but also a general purpose class library. It provides a number of physics related tools to support gravity, force, torque, collisions,...

     - 2D physics engine for Microsoft XNA
    Microsoft XNA
    Microsoft XNA is a set of tools with a managed runtime environment provided by Microsoft that facilitates video game development and management. XNA attempts to free game developers from writing "repetitive boilerplate code" and to bring different aspects of game production into a single system...

     and Silverlight
  • Newton Game Dynamics
    Newton Game Dynamics
    Newton Game Dynamics is an open source physics engine for realistically simulating rigid bodies in games and other real-time applications. Its solver is deterministic and not based on traditional LCP or iterative methods....

  • Open Dynamics Engine
    Open Dynamics Engine
    The Open Dynamics Engine is a physics engine in C/C++. Its two main components are a rigid body dynamics simulation engine and a collision detection engine...

  • Open Physics Initiative
  • PAL (Physics Abstraction Layer) - A uniform API that supports multiple physics engines
  • Physics2D.Net
    Physics2D.Net
    Physics2D.Net is two-dimensional rigid body physics engine written in C#. It has quite a few features including: stacking, joints, gravity, water, and is highly optimized for a large number of objects...

     - 2D physics engine for the .NET Framework
    .NET Framework
    The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

     2.0 or greater.
  • SOFA (Simulation Open Framework Architecture)
    SOFA (Simulation Open Framework Architecture)
    SOFA is an Open Source framework primarily targeted at real-time physical simulation, with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping tool or as a physics engine...

  • Tokamak physics engine
    Tokamak physics engine
    The Tokamak Game Physics SDK is an open-source physics engine.At its beginnings, Tokamak was free for non commercial uses only. Since May 2007, it has become open sourced under a BSD License...

  • JigLibX
    JigLibX
    JigLibX is a C# port of the JigLib physics engine. Like many other C# middleware game libraries JigLibX is, in its first implementation, a port of a C++ library...



Public domain
  • Phyz
    Phyz
    Phyz is a public domain, 2.5D physics engine with built-in editor and DirectX graphics and sound. In contrast to most other real-time physics engines, it is vertex based and stochastic...

     (Dax Phyz) - 2.5D physics simulator/editor.


Closed source/limited free distribution

  • Digital Molecular Matter
    Digital Molecular Matter
    Digital Molecular Matter, better known as simply DMM, is a proprietary middleware physics engine developed by Pixelux. It is designed for computer, video games, and other simulation needs by attempting to simulate physical real-world systems...

  • Havok
    Havok (software)
    Havok Physics is a physics engine developed by Irish company Havok. It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

  • PhysX
    PhysX
    PhysX is a proprietary realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...

     (formerly NovodeX and incorporating Meqon)
  • Vortex
    Vortex (physics engine)
    Vortex is a high-fidelity, realtime physics engine developed by CMLabs Simulations that simulates rigid body dynamics, collision detection, contact determination, and dynamic reactions...

     by CMLabs Simulations
  • AGX Multiphysics
    AGX Multiphysics (physics engine)
    AGX Multiphysics is a proprietary real-time physics engine developed by Algoryx Simulation AB that simulates rigid body dynamics, collision detection, dry frictional contacts, jointed systems, motors, fluids, deformable materials, and lines and wires...

     by Algoryx Simulation AB
    Algoryx Simulation AB
    Algoryx Simulation AB was formed in 2007 in Umeå, Sweden as a spin-off company from Umeå University. Algoryx currently has two products Algodoo and AGX Multiphysics a professional physics engine for engineering and real-time simulations.-Awards:...

  • D-Cubed AEM
    D-Cubed
    D-Cubed Components are a collection of geometric software component libraries developed and licensed as commercial products by Siemens PLM Software...

     by Siemens PLM Software
    Siemens PLM Software
    Siemens PLM Software is a computer software company specializing in 3D & 2D Product Lifecycle Management software. The company is a business unit of Siemens Industry Automation division, and is headquartered in Plano, Texas....



High precision physics engines

  • VisSim
    VisSim
    VisSim is a visual block diagram language for simulation of dynamical systems and model based design of embedded systems. It is developed by Visual Solutions of Westford, Massachusetts....

     - Visual Simulation engine for linear and nonlinear dynamics
  • Working Model
    Working Model
    Working Model is an engineering simulation software product. Virtual mechanical components, such as springs, ropes, and motors are combine with objects in a 2D working space. After the software is run, the program will simulate the interaction of the model's parts and can also graph the movement...

     by Design Simulation Technologies

See also

  • Game physics
    Game physics
    Computer animation physics or game physics involves the introduction of the laws of physics into a simulation or game engine, particularly in 3D computer graphics, for the purpose of making the effects appear more real to the observer...

  • Ragdoll physics
    Ragdoll physics
    In computer physics engines, ragdoll physics is a type of procedural animation that is often used as a replacement for traditional static death animations.-Introduction:Early video games used manually-created animations for characters' death sequences...

  • Procedural animation
    Procedural animation
    A procedural animation is a type of computer animation, used to automatically generate animation in real-time to allow for a more diverse series of actions than could otherwise be created using predefined animations....

  • Rigid body dynamics
    Rigid body dynamics
    In physics, rigid body dynamics is the study of the motion of rigid bodies. Unlike particles, which move only in three degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moments of inertia, etc., that characterize motion in six degrees of...

  • Soft body dynamics
    Soft body dynamics
    Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

  • Physics processing unit
    Physics processing unit
    A physics processing unit is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and...

  • Cell microprocessor
    Cell microprocessor
    Cell is a microprocessor architecture jointly developed by Sony, Sony Computer Entertainment, Toshiba, and IBM, an alliance known as "STI". The architectural design and first implementation were carried out at the STI Design Center in Austin, Texas over a four-year period beginning March 2001 on a...

  • Linear complementarity problem
    Linear complementarity problem
    In mathematical optimization theory, the linear complementarity problem arises frequently in computational mechanics and encompasses the well-known quadratic programming as a special case...

     Impulse/constraint physics engines require a solver for such problems to handle multi-point collisions.
  • Finite Element Analysis

Further reading

  • Bourg, David M. (2002) Physics for Game Developers. O'Reilly & Associates.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK