Rotation Tab - GUI Features Figure 3 shows the rotation tab GUI. The rotation interface has several sets of text
boxes and slider controls organized into colorized groups based on whether the data
is input or output. The input groups are colored brown, while the output groups are
colored blue. The only input text boxes are for the Euler angles and for the vector to
Figure 3. Rotation Tab GUI
be rotated. All other text boxes are read-only for displaying output. Changing the
quaternion components can be done using the quaternion slider controls. Each Euler
angle also has a slider control that can be used to vary the input angle. The nine
rotation matrix sliders are read-only. All of the GUI slider controls automatically
update to indicate the relative value of the quantity being displayed in the associated
text box. The rotation quaternion is continuously normalized with any changes in the
GUI input.
The upper and lower limits for the Euler angle sliders also vary depending on the
rotation order choice. Those limits are set to ensure that there are no ambiguities
when converting from the quaternion back to Euler angles. Euler angle singularities
(i.e., gimbal lock) is properly handled by QuatView, and a red text box indicator
is
displayed whenever singularities occur as shown in Figure 4. When a singular
condition does occur, then rotations about one Euler axis are frozen and the rotations
about the remaining two Euler axes have an identical effect. This condition is
commonly referred to as "gimbal lock", and is one major reason to avoid using Euler
angles if the second angle is near ±90°. Note that the quaternion is not affected by
the Euler angle singularity and all of the quaternion components can freely vary
between -1 and +1 without any numerical instabilities.
The 3D orientation display shows a selectable 3D object with three colored lines that
represent the rotated body (Frame B) coordinate axes. The body direction 1 axis is
colored green, direction 2 is colored red, and direction 3 is colored blue. The
quaternion axis is also displayed as a yellow line. The reference or fixed frame
(Frame A) is displayed using black lines with the axes labeled 1, 2, and 3. The
orientation of the 3D object and its Frame B axes changes as the Euler angles or
quaternion components are varied by the user. The available 3D object geometries
include a cube, cylinder, cone, and sphere.
The bottom left of the rotation GUI has a set of edit boxes where the user can enter
a vector. This input vector is tied to Frame B by default. So as Frame B rotates the
components of the vector as seen from Frame A will change. The group labeled
"Vector Output (...)" then displays the rotated vector components from the
perspective of the unrotated frame (Frame A). The user can also optionally specify
the input vector to be tied to Frame A in which case the "Vector Output (...)" group
will display the fixed vector components from the perspective of the rotated frame
(Frame B). Optionally, the input vector can also be plotted in the 3D display.
The rotation tab GUI responds to the following mouse events: left mouse click, left
mouse double click, right mouse click, and right mouse double click. The effects of
these mouse events vary depending on the mouse location as described below.
Left Mouse Double Click
Double clicking the
left mouse button over the Euler angle input group results in all
three angles being reset to zero. Likewise, double clicking over the quaternion input
group results in the quaternion being reset to [1,0,0,0]. Double clicking over the 3D
display group resets the reference coordinate system back to its default orientation.
Right Mouse Context Menus
A right mouse context menu provides copy and paste commands for any of the input
or output groups. These copy and paste commands process all of the separate text
box values at once. This allows the user to copy and paste a complete quaternion,
rotation matrix, or set of Euler angles at once, instead of having to copy and paste
the data from each individual text box.
The right mouse context menu also provides options for performing mathematical
operations on the Euler angles, quaternion, and rotation matrix. These operations
include negation, transpose, complex conjugate, reverse order, animation, and reset.
Figure 5 shows the Euler angle context menu, and Figure 6 shows the DCM context
menu.
A main context menu is displayed if the cursor is located outside any of the input or
output groups when the right mouse button is pressed. The main context menu
duplicates the six link buttons along the lower right of the GUI. This can be useful if
on systems with small screen displays that are too small vertically to display all the
link buttons along the bottom of the GUI.
Figure 4. Rotation Tab Singularity Display
Figure 5. Euler Angle Right Mouse Context Menu
Figure 6. DCM Right Mouse Context Menu
3D Mouse Events
The 3D orientation display responds to the left mouse move and right mouse move
commands. The left mouse move rotates the reference coordinate system (Frame A)
with axes labeled as 1, 2, and 3. The right mouse move scales the display. The
mouse wheel, if available, also scales the 3D display. Double clicking restores the
orientation and scale factor back to their default values.
Animation
Animation is activated using the Euler angle right mouse menu. This same menu
starts and stops the animation. The animation can also be stopped by clicking "Stop
Animation" link on the bottom portion of the GUI outside of the two tabbed regions.
The animation speed for each of the three Euler axes is selected using the Options dialog shown in Figure 7. Setting the speed to zero for a given axis disables rotation
about that axis. Two animation styles are available: continuous and bounce.
Options Dialog
Pressing the Options link button will display the Options dialog as shown in Figure 7.
This dialog allows the user to select the number of decimal digits to display, the
animation speed for each Euler axis, the vector initial reference frame, the 3D object
geometry, and whether or not to keep the Euler angles constant when changing the
rotation order. An option is also available to plot the input vector and select a plot
color for the vector.
All of the program options are automatically saved in a standard user configuration
file so that the options are restored between program sessions. A reset link is
provided just below the OK button so that the user can reset all the options to their
default values.
Figure 7. Options Dialog