rroller

rroller is a rigid body dynamics simulator. rroller consists of three software components:

  1. libsb - a shared library implementing the basic algorithms
  2. rroller - a command-line interface to libsb
  3. xroller - A GUI interface that uses Qt and OpenGL to display a simulation in real time.

libsb allows for a single ball and an arbitrary number of planes to be simulated. The planes are stationary for the duration of the simulation.

The simulated forces on the ball are:

  • Gravity
  • Collisions with the planes
  • Rolling contact with the planes

rroller implements the basic elements of rigid body dynamics as described in the lecture notes for “An Introduction to Physically Based Modeling” by Andrew Witkin, David Baraff and Michael Kass.

The most relevant documents from the series are these two concentrating on rigid body dynamics.

The OpenGL code in xroller is based on examples from Computer Graphics using OpenGL, 2nd Edition, by F.S. Hill, Jr.

You can try out rroller yourself by grabbing the sources from the download page.

Screenshots

xroller-screenshot-2.png

xroller-screenshot-1.png