Visualizing Quaternions --- Home Page (original) (raw)
![]() ![]() |
1. Overview | 2. Errata | 3. Software Listings from Visualizing Quaternions | 4. Demonstration Programs | 5. Acknowledgements and Disclaimer |
---|---|---|---|---|---|
Introduction About the Author | Standard License Text Table 7.1 Table 7.2 Table 13.1 Table 29.1 Quaternion Survival Kit QuatBookUtils.nb QuatFrenetIntegral.nb | QuatRot Demo Belt Trick Demo. Quaternion Mapping Demo. |
| | 1. Overview | |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| | Introduction Visualizing Quaternions, is published by Morgan-Kaufmann/Elsevier, ISBN 10:0-12-088400-3/ISBN 13:978-0-12-088400-1. The book presents a comprehensive approach to the significance and applications of quaternions. This web page contains a selection of machine readable material such as code listed in tables in the book itself, as well as demonstrations related to the figures and implementing some of the visualizations mentioned in more detail. | |
| | About the author Andrew J. Hanson is a professor of computer science at Indiana University in Bloomington, Indiana, and has taught courses in computer graphics, computer vision, programming languages, and scientific visualization. He received a BA in chemistry and physics from Harvard College in 1966 and a PhD in theoretical physics from MIT in 1971. Before coming to Indiana University, he did research in theoretical physics at the Institute for Advanced Study, Cornell University, the Stanford Linear Accelerator Center, and the Lawrence-Berkeley Laboratory, and then in computer vision at the SRI Artificial Intelligence Center in Menlo Park, CA. He has published a wide variety of technical articles concerning problems in theoretical physics, machine vision, computer graphics, and scientific visualization methods. His current research interests include scientific visualization (with applications in mathematics, cosmology and astrophysics, special and general relativity, and string theory), optimal model selection, machine vision, computer graphics, perception, collaborative methods in virtual reality, and the design of interactive user interfaces for virtual reality and visualization applications.Back to top |
|
| | | |
2. Errata
A list of errata for_Visualizing Quaternions_ is maintained here. Please contact the author if you have information to add to the errata.
3. Machine-Readable Listings from Visualizing Quaternions
License: please read before downloading listings from this site. | Standard License Text |
---|---|
Chapter 7: Table 7.1: page 60 Implements ComplexProduct(), ComplexSum(), ComplexConjugate(), ComplexModulus() | Table 7.1 |
Chapter 7: Table 7.2: page 64 Implements QuaternionProduct(), QuaternionDot(), QuaternionConjugate(), NormalizeQuaternion() | Table 7.2 |
Chapter 13: Table 13.1: page 128 Implements rollball() | Table 13.1 |
Chapter 29: Table 29.1: page 379 Implements QQTo4DRot[p,q] Mathematica Code for the 4x4 orthogonal rotation matrix in terms of a double quaternion. | Table 29.1 |
Appendix E: Quaternion Survival Kit Tables E.1 through E.7: pages 443-450 | Quaternion Survival Kit |
Mathematica Quaternion Utilities | QuatBookUtils.nb |
Appendix H: Quaternion Frame Integration (Mathematica Implementation) Standard and Quaternion implementations of code to plot a 3D space curve given only its curvature and initial conditions as input. | QuatFrenetIntegral.nb |
4. Demonstration Programs Supplementing Visualizing Quaternions:
All demonstration programs are without guarantees of any kind and subject to this agreement. Please read this before downloading, running, or incorporating any software from this site.
- QuatRot: This is a basic demonstration package written using the most elementary possible machine-independent OpenGL GLUT interface. A version of this program has been an essential part of the author's Siggraph tutorials on quaternions, and it includes the most elementary quaternion visualization methods as well as a variety of other features such as a SLERP demonstration.
To the best of our knowledge,QuatRot
can be compiled and run on any system supporting OpenGL and GLUT; note that to get all the features, one must support a three-button mouse and the shift key as a modifier. A couple of dozen single-key keyboard commands to select among a wide variety of options. The code and documentation are elementary, but quite sufficient, e.g., to use the tool to visualize the quaternion diagrams in Part I of the book. - Belt Trick Demo.The
QuatBelt
demonstration implements and visualizes a set of variations on the Belt Trick (Chapters 2 and 12), and supplements the necessarily limited images in the book with an interactive, customizable demonstrations. The code is based on the Qt system, and is precompiled for Linux and Windows XP. - Quaternion Mapping Demo. Beta version: Under development. XP only at this time.
TheQuatMap
demonstration implements and visualizes mappings from a variety of frame choices on curves and surfaces to their equivalent quaternion fields. This program provides an interactive supplement to Chapters 20,21, 22, and 24. The code is based on the Qt system, and is precompiled for Linux and Windows XP. Back to top
5. Acknowledgments of Support and Standard Disclaimer
This material is based in part upon work supported by the National Science Foundation under Grant Numbers 0204112 and 0430730.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation.
Last updated 16 February 2006
Andrew J. Hanson