Quaternion Demonstrator
quatdemo is an interactive tool for demonstrating the
composition of unit quaternions and how they represent rotations.
The provided executable executes only on Silicon Graphics workstations. For
those interested in porting quatdemo to other platforms,
the source code is also available in
tar archive format; use tar xf quatdemo.tar to
unpack the archive. This source code was developed on a Silicon Graphics workstation.
Starting up
To execute quatdemo, just type quatdemo on the
command-line; the application accepts no arguments.
You may not adjust the size of the application window during
quatdemo's operation. In order to set the window size, you
must follow the steps below:
- Quit quatdemo, if it's running.
- Restart the application by typing its name and hitting
Return. You may move the mouse around to place the application window,
but do not press on the mouse buttons to drop the window.
- Press the space bar.
- Adjust the window size.
- Click the mouse button to drop the window.
Basic interaction
A typical screen of quatdemo is
shown above. The current unit quaternion appears in the lower left
hand corner. This value represents the orientation of the free end of
the ribbon, with respect to the fixed end. The twists in the ribbon
demonstrate the (spherical linear) interpolation of rotations from 1
(no rotation) to the current orientation.
When the demonstrator represents a single component (e.g. 1+0i+0j+0k
or 0+0i+1j+0k) then that component will appear upright at the end of
the ribbon, when viewed from the first quadrant of the j-k plane. If
there is a twist in the ribbon, then the component should be read as
negated (e.g. the "i" is upright at the end of the ribbon, but there
is a twist in the ribbon, so the demonstrator is representing the
quaternion value "-i").
You adjust the view by moving the mouse within quatdemo's
window. In terms of keyboard interaction, the following keys influence
quatdemo's display:
- i
- Positive rotation of the free end of the ribbon about the i-axis.
- I
- Negative rotation about the i-axis.
- j
- Positive rotation of the free end of the ribbon about the j-axis.
- J
- Negative rotation about the j-axis.
- k
- Positive rotation of the free end of the ribbon about the k-axis.
- K
- Negative rotation about the k-axis.
- Space Bar
- Reset the ribbon to its canonical orientation, extended along the
k-axis, parallel to the i-axis.
Reference
Hart, John C., George K. Francis, and
Louis
H. Kauffman. Visualizing Quaternion Rotation. ACM
Transactions on Graphics 13 (3): 256-276.
A gzip-compressed
PostScript version of the paper is available.
Last update: 29 November 1995 by Apostolos "Toli" Lerios
[email protected]