James Kuffner  

Rotation Keyframe Interpolation Demonstration

This software is meant to be an educational tool for understanding keyframe interpolation for 3D rotation. Three different popular representations for rotation keyframes are supported: Euler angles, Quaternions, and Angle-Axis specification.

The user can rotate the sample object by dragging sliders for the parameters of each different rotation representation. Keyframes can be set for two different rotations and the resulting interpolation can be animated interactively.

This source code is provided free of charge for academic or personal use. You may modify or redistribute it, except when doing so commercially.

bullet Download the source code:interp_src.tar.gz
bulletSGI Irix executable: interp_exe.tar.gz.


Multibody Dynamics Package

This software was written in collaboration with Brian Mirtich, formerly a research scientist at MERL to produce a multibody dyanamics package based on his Ph.D. thesis: Impulse Based Dynamic Simulation of Rigid Body Systems. (follow link to download a local copy of Brian's thesis). (NOTE: Due to the number of requests for electronic copies of Brian's thesis, I am currently hosting these files locally with Brian's permission.)

The multibody dynamics libarary computes the forward dynamics of articulated tree-like structures of rigid links using Featherstone's algorithm.  The user specifies the inertial properties of each link, as well as the connectivity between links. In this version of the package, only prismatic, revolute, and floating joint types are supported. A simple test application using OpenInventor for visualization is included with the distribution.

The source code is freely distributed for educational, research and non-profit purposes. Permission to use the library in commercial products may be obtained from MERL - A Mitsubishi Electric Research Lab, 201 Broadway, Cambridge, MA 02139.

bullet Multibody Dynamics Home Page at MERL (currently unavailable).
bulletDownload my own version of the source code: multibodyDynamics_1.01.tar.gz (gzipped tar archive)


For those interested in an open-source dynamics package within a complete integrated simulation environment, you may want to check out Physsim on sourceforge.

Japanese Vocabulary Drill

While taking Japanese classes here at Stanford, I discovered that it is difficult for me to remember words phonetically, while much easier to remember them if I practiced writing them. To this end, I wrote a simple little application for the Macintosh that drills the user on a set of vocabulary words by prompting him or her to type the words in Japanese given an English definition. Included with the executable is all of the vocabulary words for the entire 30 chapters of the class Textbook "Japanese for Busy People, vol 1" (about 1150 words).

The user loads in a vocabulary list, and the program drills the user until all words have been identified and spelled correctly. Romaji (Roman characterization of Japanese) is used, since I didn't have any Japanese fonts, and the spelling must match exactly (the Romaji convention is the one used by the textbook). The user can create new vocabulary files, or edit existing ones using any text editor (such as Microsoft Word, or SimpleText).

bulletView the README.txt file included with the distribution.
bulletDownload the Macintosh executable and vocab files: VocabDrill.sea.hqx (Binhexed, Stuffit self-extracting archive). Works fine on 68000/68040 or PowerPC models.
bulletDownload the source code and vocab files: VocabDrill.tar.gz (gzipped tar archive). If you decide to port the code to some other platform, let me know.

1997 - 2009 © James Kuffner, Jr.