What this program does . . .
QuatView™
is a program for computing and displaying quaternions, Euler angles,
and rotation matrices. These are all methods for mathematically specifying the
orientation of an object in 3D space. QuatView includes the following
components:
1. A display tool that shows how the Euler angles, quaternion component values,
and rotation matrix components all vary as the 3D orientation varies.
2. A conversion tool that can convert 3D orientation parameters to and from
Euler angles, quaternion, rotation matrix, and rotation axis/angle.
3. A quaternion player that reads a formatted text file containing quaternion and
time values and then displays the object orientation as a function of time with
a user-selected frame rate or in real-time.
4. A network server that can receive and display quaternion data that is
transmitted from client applications running on remote computers.
5. A 3D viewer that displays the object orientation in window that can be resized
up to full-screen.
Quaternions and their relationship to 3D orientation can be difficult to understand
and visualize. The same can be said of 3D rotational transformations in general.
Some of the confusion arises from the different conventions that are commonly used
for mathematically describing rotation. These conventions include the 3D coordinate
frame handedness (left or right handed), choice of reference frame (fixed or
rotating), and the rotation matrix storage scheme (row major or column major). The
purpose of QuatView and the associated documentation is to reduce this confusion
and thereby promote greater understanding of quaternions and the mathematics of
3D rotation.
QuatView
is a multi-threaded Windows application. It is written in C# and uses the
Microsoft dot net runtime framework (version 3.5). It also uses OpenGL and
requires a 3D graphics card for optimal performance. QuatView is object
oriented
and built around a general purpose quaternion class that encapsulates all the
mathematical properties and conversion calculations. This quaternion class source
code is available by email request (Email address is codeman@TobyNorris.com). QuatView
is freeware and can be freely used and distributed according to the license
agreement given here. The author does reserve all rights
to the program and
documentation in accordance with international copyright law.