The Dynamo library is released under the terms of the GNU Library General Public
License (see the documentation).
Documentation and publications
First, some older publications, based on my work for my Masters in which
I added dynamics to one of our animation programs:
- May the Force be with you: this is a
synopsis of the main findings of my Master's Thesis. It was written for
a course in Technical Writing and Editing which I took during my time as
an OOTI. It serves as a nice introduction to the field of motion dynamics,
and should also be readable while skipping all the formulae-bits for
those who just want an overview without too many details.
- All
you need is force, which I co-wrote with my supervisor
C.W.A.M van Overveld, was presented at the Workshop for Computer Animation
and Simulation at EuroGraphics '95 (by me). It builds upon the work I did
for my Master's Thesis, but presents the problem in a more general setting
which suggest the approach taken in the work below.
Using what I learned before, I restarted builing a seperate object-oriented
dynamics library as the final project of the OOTI
course. Here is the report describing that design:
- Designing a library for constraint driven dynamics
in the GDP: this is my final report of the postgraduate
programme Software Technology and describes the first part part of
my PhD work, which has led to the Dynamo library. Here the ideas and algorithms
are presented in an Object Oriented environment, which in my opinion leads to a
much more intuitive view on the subject matter.
Afterwards, I extended this library to what has become Dynamo in my
Ph.D. work. The resulting thesis describing the design of Dynamo (which
I defended on April 27th 2000) is now available in
pdf format (1.1MB).
The library has been developed for use in a host application. For
tests and demos it has been incorporated in our GDP system.
Here is the documentation for both the stand-alone Dynamo library, and also for
the additional functionality provided bythe GDP wrapper:
Examples
An example is shown in the following mpeg
movie which shows a sort of roller coaster. The motion in this animation
is specified through the geometry of the track and the cart, a constraint
that specifies that the cart is connected to the track (but can move freely
along the track), a constraint that specifies that both parts of
the cart are connected through a pin joint, and the specification of gravity.
The system will calculate and apply reaction forces such that the two parts
of the cart and the track and the cart remain connected (but the gravity
will cause the cart to slide along the track).
Another example featuring a rolling bicycle is presented
here.
Download
Dynamo is available for downloading as a zip file:
dynamo.zip (1MB zip file)
Also available are the Looks
sources of the examples in the thesis (70KB zip file)
Installation
The user documentation provides
instructions on the two callback functions which need to be implemented to
allow the library to communicate with your software. A make file is provided
for compiling on a Sun or SGI workstation. The example which is provided shows
how the library might be compiled on a PC.
Links
-
In order to use the collision response constraint in Dynamo, a
collision detector is required. The SOLID library provides such a
detector and has been designed with (a.o.) physics-based interactive-speed
animation in mind.
Author: Bart Barenbrug