DynaMo is a software library providing classes that take care of the calculation of the motions of objects under the influence of force, torque, and impulse. It can also compute forces for you through the mechanism of constraints. These allow you to easily connect geometries to each other in various ways. A constraint only has to be specified once, and the library will continually enforce it from that moment on by applying the required reaction forces. Over a dozen constraints available, including several types of hinges and a constraint for collision response calculations.
SOLID (Software Library for Interference Detection) is a library for collision detection of three-dimensional objects undergoing rigid motion and deformation. SOLID is designed to be used in interactive 3D graphics applications, and is especially suited for collision detection of objects and worlds described in VRML. Object shapes are represented by primitive shapes (box, cone, cylinder, sphere), and complexes of polytopes (line segments, convex polygons, convex polyhedra). Motion is specified by translations, rotations, and nonuniform scalings of the local coordinate system of each moving object.
Maude is a high-performance reflective specification and programming language for a wide range of applications. Besides supporting order sorted equational algebra (in the style of OBJ3), it also supports a more general rewriting logic which need not be confluent or terminating. In this way, it is particularly suited for modeling concurrent object- oriented computation. It also includes various environments such as a model checker and an interactive theorem prover.
Tiny Tcl 6.8 is a rommable, minimal Tcl implementation for embedded applications. Derived from the venerable Tcl 6.7 release, Tiny Tcl 6.8 has a solid Tcl feature set, excluding newer capabilities of Tcl 7 and 8 such as the bytecode compiler, namespaces, sockets, and async event handling, among others. Excluding C library functions, Tiny Tcl compiles down to less than 60 Kbytes on most machines, far smaller than any Tcl 7 or Tcl 8 derivatives.
ODE is a high performance library for simulating rigid body dynamics. It is fully featured, stable, mature, and platform independent with an easy-to-use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in virtual reality environments, and virtual creatures. It is currently used in many computer games, 3D authoring tools, and simulation tools.
Bullet is a 3D game multiphysics library that provides state of the art collision detection and soft body and rigid body dynamics. Bullet is integrated into Cinema 4D, Lightwave, and Blender. A Houdini and Maya Plugin is available. It has a modular extendible C++ design with hot-swap of most components. The back-ends were optimized for pthreads/Win32 Threads multi-threading and PS3 Cell SPU. Other features include discrete and continuous collision detection (CCD), swept collision queries, ray casting with custom collision filtering, generic convex support (using GJK), capsule, cylinder, cone, sphere, box, and non-convex triangle meshes. Rigid body dynamics include constraint solvers, generic constraints, ragdolls, hinges, and ball-sockets. Constraint limits and motors are supported. Soft body support includes cloth, rope, and deformable objects. Import and export into COLLADA 1.4 Physics format is supported. Dynamic deformation of non-convex triangle meshes is supported by refitting the acceleration structures.
The Particle System API allows C++ application developers to easily include dynamic simulations of groups of moving objects. The API is much lighter weight than a full physics engine. It is especially useful for eye candy in games and screen savers, but is also used in off-line animation software. With the Particle System API you create a group of particles, then describe the components of the particle effect using actions like Gravity(), Explosion(), and Bounce(). You apply the actions to the particle group at each time step, then read back the particle positions and other attributes into your app, or send them directly to the GPU as a vertex array or as geometry instances.
The SimulAVR program is a simulator for the Atmel AVR family of microcontrollers (ATtiny and ATmega). SimulAVR can be used either standalone or as a remote target for avr-gdb. There are interfaces for Python and Tcl. When used in gdbserver mode, the simulator is used as a back-end so that avr-gdb can be used as a source level debugger for AVR programs.