Brief Introduction | Keyboard Shortcuts | Mouse Interface |
In short: Quaternion Maps are the visualization of the space of orientations in three dimensional space.
An orientation is characterized by a direction vector (n) and an angle-of-rotation (θ) around this direction. Typically, the term 'orientation' is substituted by the term 'orientation-frame', wherein, the frame is a triad of three mutually-perpendicular vectors (nx, ny, nz), with one axis aligned along the direction vector.
Quaternion maps are essentially visualizations of one or more quaternions. Quaternions are four-dimensional vectors, and unit-quaternions represent the orientation-frames as mentioned above. This mapping provides interesting and surprisingly crisp explanations for some intriguing phenomena as described in the book Visualizing Quaternions.
Quaternion maps are obtained by connecting a set of quaternions to form a smooth curve. Quaternion maps can be open or closed quaternion-curves. Since the configuration of the quaternion map signifies successive orientations of a frame in 3D space, a closed quaternion-curve indicates that the starting and end frames have the same orientation in 3D. An open quaternion-curve may or may not mean imply the same. This is because of the mapping between orientations in 3D and quaternions. The mapping is a 1:2-mapping, which implies that each 3D orientation is represented by a pair of quaternions (with opposite sign). This property is referred to as the 'double cover'. If the end quaternions in an open quaternion-curve form such a pair, the orientations in 3D will be identical.
The application demonstrates orientations of frames that sweep closed, knotted curves such as the torus knots. A highly interesting problem in itself is how the frames are assigned to a given curve. Three framing methods are exposed in this application, viz. the Frenet-Serret, Parallel Transport and Geodesic Reference.
Please visit the book website for a detailed description: www.visualizingquaternions.com.
|
|
|
Graphics and Visualization Lab, Indiana University Bloomington, Computer Science Department Feb 2006 |