Our PhysicsAndMathLibrary ist primarily designed as a high level API in order to simulate many different physical objects in a simple and uniform way.
These physical objects are:
- cars, motorcycles, etc. (vehicles with 1 - 4 wheels)
- caterpillars, tanks, etc. (added in version 1.2)
- hovercrafts
- airplanes
- spacecrafts
- helicopters
- submarines
- zeppelins
- ships
- complex, animatable bodies (like humans, animals, etc.)
- swinging bodies
- simple bodies
- joint bodies
- deformable bodies (like clothes, flags, fluids, etc.)
- breakable bodies and surfaces
- projectiles (simple mass elements)
- fully interactive particle systems (added in version 1.2)
- combined objects (like tanks, etc.)
- using the CMassElement- and CBonding-Classes additional objects could be simulated
In all simulations the following forces are considered:
- gravity
- buoyancy in water and air
- velocity based friction in water and air (newton friction)
- static and kinetic ground and contact friction
Improvements to existing game physics engines:
- mass distributions simply can be changed in realtime in order to simulate damages, structural changes, etc.
- realtime physical-based animation (forward kinematic -> physical simulation -> inverse kinematic) of complex bodies instead of classical ragdoll physics. In order to receive a more realistic animation, the original animation poses are corrected by the physics engine.
Further details:
- simple handling of animations
- simple simulation of destroyable environments
- easy to use collision model based on bounding spheres
- per triangle/quad collision and intersection tests
- AABB (axis aligned bounding box) and OBB (oriented bounding box) collision tests
- look-up tables for trigonometric computations
- efficient object object collision test management on terrain
- fast square root approximation
- terrain management (added in version 1.2)
- destroyable terrain (added in version 1.2)
- damage models (added in version 1.2)
- day night cycles and weather (added in version 1.2)
- complex solar system simulator (added in version 1.2)