[ANN] Ruby-ODE (Open Dynamics Engine Ruby binding) 0.01

Hi fellow Rubyists.

I’d like to announce the release of a Ruby binding for the Open Dynamics
Engine (http://q12.org/ode/), a free software library for the
simulation of Rigid Body Dynamics.

ODE is useful for simulating things like vehicles, objects in virtual
reality environments, and virtual creatures.

It requires Ruby 1.7.3 or higher (1.8.0 highly recommended), as it
uses the new allocation framework, and some features particular to
newer version of Ruby. Patches to make it compatible with earlier
versions welcomed.

It is written in a mixture of Ruby and C, and I’d really like feedback
on a couple of things:

  • The C code. This is the first major project I’ve written in C, so
    tips on good/bad things you see in this code would be very helpful
    for my knowledge of C, as well as for improving the library.

  • Mathematical correctness. The data classes for Quaternions and
    Vectors are based on code in the alg3d.rb library, but I’m not
    really a math whiz, so I probably screwed some things up.
    Corrections from the more mathematically-inclined among you would
    be greatly appreciated.

  • Idiom. Since the ODE library itself is a collection of
    function calls, I’ve made some effort to change the Ruby API to
    better (IMHO) fit an OOP way of doing things, keeping in mind the
    "Ruby way" as much as possible. Comments on how this could be
    improved are most welcome.

  • Id also like suggestions for additional features that would make it
    easier/more intuitive/more fun to use.

The project is on the RAA as:

http://raa.ruby-lang.org/list.rhtml?name=ode

and can be downloaded from the project page at:

http://www.deveiate.org/code/Ruby-ODE.shtml

Thanks.

···


Michael Granger ged@FaerieMUD.org
Rubymage, Believer, Architect
The FaerieMUD Consortium http://www.FaerieMUD.org/