Visualizing Quaternions: Home Page


1. Overview 2. Errata 3. Software Listings from
Visualizing Quaternions
4. Demonstration Programs 5. Acknowledgements and
  • Introduction
  • About the Author


1. Overview




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.

Back to top

  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.

Back to top

  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.

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.

Back to top

Last updated 16 February 2006
Andrew J. Hanson