QuaternionCalc performs quaternion operations. The interface is shown below.

The picker at the top lets you select the quaternion operation. Grayed out boxes are not needed for the selected operation. Each column is one quantity. These are listed below:

- Quaternion transpose - Column 1 is the quaternion
- Forward transformation of a vector - Column 1 is the quaternion, column 2 is the vector
- Backward transformation of a vector - Column 1 is the quaternion, column 2 is the vector
- Conversion of a quaternion to 3-2-1 Euler angles - Column 1 is the quaternion
- Creation of a quaternion from two unit vectors - Column 1 is a unit vector and column 2 is a unit vector
- Conversion of a quaternion to a transformation matrix - Column 1 is the quaternion

Enter the desired numbers into the boxes. You may use exponentional notation, i.e. 1e-9. One number goes into each box. The app will automatically unitize the quaternions and the vectors in the operation to compute unit vectors to a quaternion. The quaternion [1;0;0;0] implies no rotation (i.e. an identity transformation matrix).

The app checks for errors. It you enter something that is not a number into one of the boxes it treats it as 0.

Push Compute to get the result The result appears at the bottom. It employs MATLAB notation where semi-colons denote rows. For example, [1;2;3] is a vector with the first component equal to 1, the second component 2 and the third 3. You can email the result by hitting the Email Result buttom.

This app makes use of the MatrixLib framework for iOS. You can get more information on the Princeton Satellite Systems website.