In 1999 I followed a robotics course at K.U.Leuven. One of the proposed project works was a simulation of a humanoid robot. The purpose was to learn about the kinematics of a hierarchical system. I chose to simulate the kinematics of a human hand, which I find to be one of the most fascinating parts of the human body.

A requirement was to do the project in a platform independent way. At first sight VRML seemed to be the kind of language to do this job. The problem, however, with VRML is that you have to interface it with some kind of GUI or external script, written in a language such as Java, in order to be able to control, for example, the fingers' bending angles. Therefore I started looking for a different way to complete the project. Java 3D offers the possibility to work in one single environment for graphics and control. It was the VRML issue of IEEE Computer Graphics and Applications magazine of March 1999 that convinced me to take a closer look at Java 3D. It mentioned a lot of interesting features that are not available with VRML, such as:

"..., in Java 3D you can set the pixel width of line and point geometry, select between screen-door and alpha-blended transparancy, enable texture MIP mapping, and choose between point-sampled or linearly interpolated texture filtering. You can position Java 3D's near and far clipping planes, enable orthographic (parallel) projection, control the scope of light sources, bound the effects of fog, modify the underlying 4 x 4 matrix transform, and even add sound reverberation and Doppler shift effects. ..."
The ability to define all kinds of behavior classes in order to have a rich interactive animated environment is also an appealing aspect of Java 3D. Moreover, one can make use of the extended toolkits Sun is offering, for example to build the application's 2D user interface. Documenting the project could be done in a nice way, thanks to Javadoc. Another nice features of Java 3D is the availability of object loaders for most 3D packages such as Alias Wavefront's OBJ format.

Screenshots

Documentation

Source Code Related links



Image courtesy of Out of the Blue Design Ltd.



© 2000-2003 replicant, All Rights Reserved.