Quaternion Frame Approach to Streamline Visualization.
AbstractCurves in space are difficult to perceive and analyze, especially when they form dense sets as in typical 3D flow and volume deformation applications. We propose a technique that exposes essential properties of space curves by attaching an appropriate moving coordinate frame to each point, reexpressing that moving frame as a unit quaternion, and supporting interaction with the resulting quaternion field. The original curves in three-space are associated with piecewise continuous four-vector quaternion fields, which map into new curves lying in the unit three-sphere in four-space. Since four-space clusters of curves with similar moving frames occur independently of the curves original proximity in three-space, a powerful analysis tool results. We treat two separate moving-frame formalisms, the Frenet frame and the parallel-transport frame, and compare their properties. We describe several flexible approaches for interacting with and exploiting the properties of the four-dimensional quaternion fields.
Introduction
We introduce techniques and tools for visualizing
streamline data that are based on the differential
geometry of 3D space curves. Intrinsic
properties of space curves give rise to scalar fields
over the curves such as the curvature and torsion.
A moving coordinate frame on a curve is a tensor
field that is equivalent to a quaternion field; either
may be understood as the solution to a set of differential
equations driven by the intrinsic scalar
fields.
Our fundamental thesis is that quaternion
frame coordinates are useful for exposing the similarities
and differences of sets of streamlines.
Good analytic and visual measures for revealing
similarities of curve shapes are rare. Because of
the existence of a uniform distance measure in the
quaternion space that we use, orientation similarities
in the evolution of flow fields appear automatically
in meaningful spatial groups. Identification
of these similarities is useful for applications
such as finding repeating patterns and
related curve shapes, both on single curves and
within large collections of curves. Conversely, if
a large set of nearly-identical curves contains a
small number of significant curves that differ from
their neighbors due to subtle changes in their
frame orientations, our method will distinguish
them.
We study two distinct moving coordinate
frames that may be assigned to curves in three-
space. One is the classic Frenet frame, also
called the Frenet-Serret frame (see, e.g., [9, 10]),
which is defined locally by the tangent, normal
and binormal at each point of each curve; the
other is the parallel-transport frame (see, e.g.,
Bishop [4]), which retains the tangent vector,
but uses a nonlocal approach borrowed from the
parallel-transport methods of differential geometry
to compute the frame components in the plane
perpendicular to the curve. All such frames can
be recast into quaternion frame coordinates.
Orientation spaces and their relationship to
quaternions are described in Altmann [2]; an
interesting approach to the visualization of the
properties of quaternions was recently given by
Hart, Francis, and Kauffman [19]. Systematic approaches
for representing clusters of orientations
in 3D spaces of angles have been suggested, for
example, by Alpern et al. [1]. Among previous
approaches to visualizing the geometry of space
curves, we note the work of Gray [7, 10], which exploits
the curvature and torsion scalar fields on a
curve for visualization purposes; this method extends
naturally to higher-dimensional manifolds
with well-defined local curvature. We will give
some examples of the application of curvature and
torsion fields for completeness here, but will not
pursue this approach in detail.
The use of quaternion frames in a 4D display
was proposed as a visualization technique
for stream manifold characteristics in Hanson and
Ma [17]. The current article is based on the
concepts of the latter work, and includes additional
results on the comparative properties of
the Frenet and parallel-transport frames, as well
as further work on interactive methods.
2 The Differential Geometry of Space
Curves
Dense families of space curves can be generated
by many applications, ranging from time-dependent
particle flow fields, to static streamlines
generated by integrating a volume vector
field, to deformations of a solid coordinate
grid. Our fundamental approach singles out space
curves, although variations could be used to treat
individual point frames (see [1]), stream surfaces
(see [20]), and orientation differences (which
are themselves orientation fields) as well. Thus
we begin with the properties of a curve ~ x(t) in
3D space parameterized by the unnormalized arc
length t. If ~ x(t) is once-differentiable, then the
tangent vector at any point is
~
The standard arc-length differential is typically
expressed as
ds
dt
d~ x(t)
dt
d~ x(t)
dt
In practice, we never have smooth curves in numerical
applications, but only piecewise linear
curves that are presumed to be approximations
to differentiable curves; thus we might typically
take, for a curve given by the set of points f~ x i g,
~
or any corresponding formula with additional
sampling points and desirable symmetries. We
use a five-point formula to get a smoother result;
one could also produce finer intermediate states
by spline interpolation.
If the curve is locally straight, i.e., ~ x 00
, then there is no locally-determinable
coordinate frame component in the plane normal
to ~
T; a non-local definition must be used to decide
on the remainder of the frame once ~ T is
determined. Below, we formulate our two alternate
coordinate frames, one of which, the Frenet
frame, is completely local, but is indeterminable
where the curve is locally straight, and the other
of which, the parallel transport frame, is defined
everywhere but depends on a numerical integration
over the whole curve.
2.1 Frenet Frames
The Frenet frame (see, e.g., [9, 10]) is defined
as follows: If ~ x(t) is any thrice-differentiable space
curve, its tangent, binormal, and normal vectors
at a point on the curve are given by
~
~
~
B(t) \Theta ~ T(t) :
We illustrate this standard frame configuration
in

Figure

1. When the second derivative vanishes
on some interval, the Frenet frame is temporarily
undefined, as illustrated in Fig. 2. Attempts to
work around this problem involve various heuristics
[24].
The Frenet frame obeys the following differential
equation in the parameter t,6~
~
~
~
~
~
is the scalar magnitude of
the curve derivative, -(t) is the scalar curvature,
and -(t) is the torsion. These quantities can in
principle be calculated in terms of the parameterized
or numerical local values of ~ x(t) and its first
three derivatives as follows:
If we are given a non-vanishing curvature and a
torsion as smooth functions of t, we can theoretically
integrate the system of equations to find
the unique numerical values of the corresponding
space curve ~ x(t) (up to a rigid motion).
2.2 Parallel Transport Frames
Bishop [4] noted that, while the Frenet frame
has the advantage of consistent local computability
at all points on a curve except those with vanishing
second derivative, there is another natural
frame, the parallel transport frame, that is well-defined
everywhere; the distinguishing feature of
the parallel transport frame is that it is essentially
the solution to a differential equation, and thus
depends on the initial conditions and is subject
to numerical error for long curves. Operational
methods of defining such frames have been previously
noted (see, e.g., [5]) but the underlying
mathematical basis was not elaborated.
Geometrically, the parallel transport frame derives
its name from the fact that it corresponds
to the notion of moving a vector around a curved
manifold in such a way that it remains as parallel
to itself as possible. Its mathematical properties
derive from the observation that, while ~ T(t) for a
given curve model is unique, we may choose any
fig1.eps

Figure

1: The triad of orthogonal axes forming
the Frenet frame for a curve with non-vanishing
curvature.
convenient arbitrary basis ( ~
for the
remainder of the frame, so long as it is in the
plane perpendicular to ~
T(t) at each point. If the
derivatives of ( ~
depend only on ~
and not each other, we can make ~
vary smoothly throughout the path regardless of
the curvature. We may therefore choose the alternative
frame equations6~
~
~
~
illustrated in Fig. 3 for a curve with vanishing
curvature on a segment. One can show that [4]
dt
so that k 1 and k 2 effectively correspond to a
Cartesian coordinate system for the polar coordinates
dt. A fundamental
fig2.eps

Figure

2: The triad of orthogonal axes forming
the Frenet frame for a curve with vanishing curvature
on an interval; the frame is undefined on
the interval.
ambiguity in the parallel transport frame compared
to the Frenet frame thus arises from the
arbitrary choice of an integration constant for ',
which disappears from - due to the differentiation

A numerical method for computing the parallel
transport frame with the desired properties
is the following: Given a frame at ~ x
two neighboring tangents ~
and ~
and
their unit vectors -
find the angle
between them and the perpendicular
to the plane of the tangents given by
~
finally, rotate the frame at ~ x
by ' about -
V to get the frame at point ~ x i
. Either
3D vector rotation or rotation by quaternion
multiplication can be used to effect the rotation.
Just as for the Frenet frame, one can begin
with a curve ~ x(t) and an initial frame, or a pair
of functions and an initial frame, or
a frame over the entire curve, and then integrate
where needed to compute the missing variables.
It is also worthwhile noting that
form a two-dimensional Cartesian vector field at
fig3.eps

Figure

3: The parallel-transport curve frame for
the curve of Fig. 2 [4]. This frame, unlike the
Frenet frame in Fig. 2, is continuous along the
"roof peak" where the curvature vanishes.
each point of the curve, and thus allow a natural
alternate characterization to Gray's (-) curve
properties [7, 10].
3 Theory of Quaternion Frames
It is awkward to represent moving frames visually
in high-density data because a frame consists
of three 3D vectors, or nine components, yet it has
only three independent degrees of freedom. Some
approaches to representing these degrees of freedom
in a three-dimensional space were suggested
by Alpern et al. [1]. We propose instead to systematically
exploit the representation of 3D orientation
frames in four-dimensions using equivalent
unit quaternions that correspond, in turn,
to points on the three-sphere (see, e.g., [25]). A
collection of oriented frames such as those of a
crystal lattice can thus be represented by mapping
their orientations to a point set in the 4D
quaternion space. The moving frame of a 3D
space curve can be transformed into a path in
quaternion space corresponding pointwise to the
3D space curve.
The quaternion representation of rotations re-expressing
a moving frame of a 3D space curve is
an elegant unit four-vector field over the curve;
the resulting quaternion frames can be displayed
as curves in their own right, or can be used in
combination with other methods to enrich the display
of each 3D curve, e.g., by assigning a coded
display color representing a quaternion component

Properties. A quaternion frame is a unit-length
four-vector
corresponds to exactly one 3D coordinate frame
and is characterized by the following properties:
ffl Unit Norm. If we define the inner product
of two quaternions as
then the components of a unit quaternion
obey the constraint
and therefore lie on S 3 , the three-sphere,
which we will typically represent as embedded
in four-dimensional Euclidean space R 4 .
ffl Multiplication rule. The quaternion product
of two quaternions q and p, which we
write as q   p, takes the form66[q   p] 0
177This rule is isomorphic to multiplication in
the group SU(2), the double covering of the
ordinary 3D rotation group SO(3). If two
quaternions a and b are transformed by multiplying
them by the same quaternion q, their
inner product a \Delta b transforms as
and so is invariant if q is a unit quaternion.
ffl Mapping to 3D rotations. Every possible
3D rotation R (a 3 \Theta 3 orthogonal matrix)
can be constructed from either of two related
quaternions,
using the quadratic re-
lationship
where Q(\Sigma \Sigma
3 and
ffl Rotation Correspondence. When we
substitute
3-vector lying on
the 2-sphere S 2 , R('; -
n) becomes the standard
matrix for a rotation by ' in the plane
perpendicular to -
n; the quadratic form ensures
that the two distinct unit quaternions
q and \Gammaq in S 3 correspond to the same SO(3)
rotation.
3.1 Quaternion Frenet Frames
All 3D coordinate frames can be expressed in
the form of quaternions using Eq. (6). If we
assume the columns of Eq. (6) are the vectors
B), respectively, one can show from Eq. (2)
that [q 0 (t)] takes the form (see [12])66q 0q 0q 0q 0375
This equation has the following key properties:
ffl The matrix on the right hand side is antisym-
metric, so that q(t) \Delta q 0
tion. Thus all unit quaternions remain unit
quaternions as they evolve by this equation.
ffl The number of equations has been reduced
from nine coupled equations with six orthonormality
constraints to four coupled
equations incorporating a single constraint
that keeps the solution vector confined to the
3-sphere.
We verify that the matrices
37explicitly reproduce Eq. (2),
where we have applied Eq. (7) to get the right-hand
terms.
Just as the Frenet equations may be integrated
to generate a unique moving frame with its space
curve for non-vanishing -(t), we may integrate
the much simpler quaternion equations (7).
3.2 Quaternion Parallel Transport
Frames
Similarly, a parallel-transport frame system
given by Eq. (4) with ( ~
der) corresponding to the columns of Eq. (6) is
completely equivalent to the following parallel-
transport quaternion frame equation for [q 0 (t)]:66q 0q 0q 0q 0375
where antisymmetry again guarantees that the
quaternions remain constrained to the unit 3-
sphere. The correspondence to Eq. (4) is verified
as follows:
Assigning Smooth Quaternion
Frames
Given a particular curve, we are next faced
with the task of assigning quaternion values to
whatever moving frame sequence we have chosen.
4.1 Assigning Quaternions to Frenet
Frames
The Frenet frame equations are pathological,
for example, when the curve is perfectly straight
for some distance or when the curvature vanishes
momentarily. Thus, real numerical data for space
curves will frequently exhibit behaviors that make
the assignment of a smooth Frenet frame difficult,
unstable, or impossible. In addition, since any
given 3 \Theta 3 orthogonal matrix corresponds to two
quaternions that differ in sign, methods of deriving
a quaternion from a Frenet frame are intrinsically
ambiguous. Therefore, we prescribe the
following procedure for assigning smooth quaternion
Frenet frames to points on a space curve:
ffl Select a numerical approach to computing
the tangent ~
T at a given curve point ~ x; this
typically depends on the chosen curve model
and the number of points one wishes to sample

ffl Compute the remaining numerical derivatives
at a given point and use those to compute
the Frenet frame according to Eq. (1). If
any critical quantities vanish, tag the frame
as undefined (or as needing a heuristic fix).
ffl Check the dot product of the previous binormal
~ B(t) with the current value; if it is near
zero, choose a correction procedure to handle
this singular point. Among the correction
procedures we have considered are (1) simply
jump discontinuously to the next frame to indicate
the presence of a point with very small
curvature; (2) create an interpolating set of
points and perform a geodesic interpolation
[25]; or (3) deform the curve slightly before
and after the singular point to "ease in" with
a gradual rotation of the frame or apply an
interpolation heuristic (see, e.g., [24]). Creating
a jump in the frame assignment is our
default choice, since it does not introduce any
new information.
ffl Apply a suitable algorithm such as that of
Shoemake [25] to compute a candidate for
the quaternion corresponding to the Frenet
frame.
ffl If the 3 \Theta 3 Frenet frame is smoothly chang-
ing, make one last check on the 4D inner
product of the quaternion frame with its own
previous value: if there is a sign change,
choose the opposite sign to keep the quaternion
smoothly changing (this will have no effect
on the corresponding 3\Theta3 Frenet frame).
If this inner product is near zero instead of
\Sigma1, you have detected a radical change in the
Frenet frame which should have been noticed
in the previous tests.
ffl If the space curves of the data are too
coarsely sampled to give the desired smoothness
in the quaternion frames, but are still
close enough to give consistent qualitative
behavior, one may choose to smooth out the
intervening frames using the desired level of
recursive slerping [23, 25] to get smoothly
splined intermediate quaternion frames.
In Fig. 4, we plot an example of a torus knot,
a smooth space curve with everywhere nonzero
curvature, together with its associated Frenet
frames, its quaternion frame values, and the path
of its quaternion frame field projected from four-
space. Fig. 5 plots the same information, but
this time for a curve with a discontinuous frame
that flips too quickly at a zero-curvature point.
This space curve has two planar parts drawn as
though on separate pages of a partly-open book
and meeting smoothly on the "crack" between
pages. We see the obvious jump in the Frenet and
quaternion frame graphs at the meeting point; if
the two curves are joined by a long straight line,
the Frenet frame is ambiguous and is essentially
undefined in this segment. Rather than invent
an interpolation, we generally prefer to use the
parallel transport method described next.
4.2 Assigning Quaternions to Parallel
Transport Frames
In order to determine the quaternion frames of
an individual curve using the parallel transport
method, we follow a similar, but distinct, procedure

ffl Select a numerical approach to assigning a
tangent at a given curve point as usual.
ffl Assign an initial reference orientation to each
curve in the plane perpendicular to the initial
tangent direction. The entire set of frames
will be displaced from the origin in quaternion
space by the corresponding value of this
initial orientation matrix, but the shape of
the entire curve will be the same regardless of
the initial choice. This choice is intrinsically
ambiguous and application dependent. How-
ever, one appealing strategy is to base the
initial frame on the first well-defined Frenet
frame, and then proceed from there using the
parallel-transport frame evolution; this guarantees
that identical curves have the same
parallel-transport frames.
ffl Compute the angle between successive tan-
gents, and rotate the frame by this angle in
the plane of the two tangents to get the next
frame value.
ffl If the curve is straight, the algorithm automatically
makes no changes.
ffl Compute a candidate quaternion representation
for the frame, applying consistency conditions
as needed.
Note that the initial reference orientation and all
discrete rotations can be represented directly in
terms of quaternions, and thus quaternion multiplication
can be used directly to apply frame
rotations. Local consistency is then automatic.
An example is provided in Fig. 6, which shows
the parallel transport analog of Fig. 4 for a torus
knot. Fig. 7 is the parallel transport analog of
the pathological case in Fig. 5, but this time the
frame is continuous when the curvature vanishes.

Figure

4: (a) Projected image of a 3D (3,5) torus knot. (b) Selected Frenet frame components displayed
along the knot. (c) The corresponding smooth quaternion frame components. (d) The path of the
quaternion frame components in the three-sphere projected from four-space. Color scales indicate the
0-th component of the curve's four-vector frame (upper left graph in (c)).
5 Examples
We next present some typical examples of
streamline data represented using the basic geometric
properties we have described. Each data
set is rendered in the following alternative modes:
(1) as a 3D Euclidean space picture, pseudocol-
ored by curvature value; (2) as a 3D Euclidean
space picture, pseudocolored by torsion value; (3)
as a four-vector quaternion Frenet frame field
plotted in the three-sphere; (4) as a four-vector
quaternion parallel transport frame field plotted
in the three-sphere.
Fig. 8. A complicated set of streamlines derived
from twisting a solid elastic Euclidean
space as part of the process of tying a topological
knot.
Fig. 9. An AVS-generated streamline data
set; the flow is obstructed somewhere in the
center, causing sudden jumps of the streamlines
in certain regions.
While our focus in this paper is specifically on
the frames of space curves, we remark that collections
of frames of isolated points, frames on
stream surfaces [20], and volumetric frame fields

Figure

5: (a) Projected image of a pathological curve segment. (b) Selected Frenet frame components,
showing a sudden change of the normal. (c) The quaternion frame components, showing discontinuity
in values. (d) The discontinuous path of the quaternion frame components in the three-sphere. Color
scales indicate the 0-th component of the curve's four-vector frame (upper left graph in (c)).
could also be represented using a similar mapping
into quaternion space.
6 Visualization Methods
Once we have calculated the quaternion
frames, the curvature, and the torsion for a point
on the curve, we have a family of tensor and scalar
quantities that we may exploit to expose the intrinsic
properties of a single curve. Furthermore,
and probably of greater interest, we also have the
ability to make visual comparisons of the similarities
and differences among families of neighboring
space curves.
The moving frame field of a set of streamlines
is potentially a rich source of detailed information
about the data. However, the 9-component frame
is unsuitable for direct superposition on dense
data due to the high clutter resulting when its
three orthogonal 3-vectors are displayed; direct
use of the frame is only practical at very sparse
intervals, which prevents the viewer from grasping
important structural details and changes at a
glance. Displays based on 3D angular coordinates
are potentially useful, but lack metric uniformity
[1].
The 4-vector quaternion frame is potentially
a more informative and flexible basis for frame
visualizations; below, we discuss several alterna-
Figure

(a) Projected image of a 3D (3,5) torus knot. (b) Selected parallel-transport frame components
displayed along knot. (c) The corresponding smooth quaternion frame components. (d) The path of
the quaternion frame components in the three-sphere projected from four-space. Color scales indicate
the 0-th component of the curve's four-vector frame (upper left graph in (c)).
tive approaches to the exploitation of quaternion
frames for data consisting of families of smooth
curves.
6.1 Direct Three-Sphere Plot of Quaternion
Frame Fields
We now repeat the crucial observation: For
each 3D space curve, the moving quaternion
frames define completely new 4D space curves lying
on the unit three-sphere embedded in 4D Euclidean
space.
These curves can have entirely different geometry
from the original space curve, since distinct
points on the curve correspond to distinct ori-
entations. Families of space curves with exactly
the same shape will map to the same quaternion
curve, while curves that fall away from their
neighbors will stand out distinctly in the three-
sphere plot. Regions of vanishing curvature will
show up as discontinuous gaps in the otherwise
continuous quaternion Frenet frame field curves,
but will be well-behaved in the quaternion parallel
transport frame fields. Straight 3D lines will of
course map to single points in quaternion space,
which may require special attention in the display.
Figures 4d and 5d present elementary examples
of the three-sphere plot for the Frenet frame,

Figure

7: (a) Projected image of a pathological curve segment. (b) Selected parallel transport frame
components, showing smooth change of the normal. (c) The quaternion frame components, showing
continuity in values. (d) The continuous path of the quaternion frame components in the three-sphere.
Color scales indicate the 0-th component of the curve's four-vector frame (upper left graph in (c)).
while Figures 6d and 7d illustrate the parallel
transport frame. Figures 8c,d and 9c,d present
more realistic examples.
The quaternion frame curves displayed in these
plots are 2D projections of two overlaid 3D solid
balls corresponding to the "front" and "back"
hemispheres of S 3 . The 3-sphere is projected from
4D to 3D along the 0-th axis, so the "front" ball
has points with 0 - q 0 - +1, and the "back"
ball has points with
of the frame at each point can be displayed
as shades of gray or pseudocolor. In the default
view projected along the q 0 -axis, points that are
projected from 4D to the 3D origin are in fact
identity frames, since unit length of q requires
at these points. In Fig. 10, we
show a sequence of views of the same quaternion
curves from different 4D viewpoints using parallel
projection; Fig. 11 shows the additional contrast
in structure sizes resulting from a 4D perspective
projection.
6.2 Scalar Geometric Fields
Gray [7, 10] has advocated the use of curvature
and torsion-based color mapping to emphasize
the geometric properties of single curves such
as the torus knot. Since this information is trivial
to obtain simultaneously with the Frenet frame,
we also offer the alternative of encoding the curvature
and torsion as scalar fields on a volumetric
space populated either sparsely or densely with
streamlines; examples are shown in Figures 8a,b
and 9a,b.
6.3 Similarity Measures for Quaternion
Frames
Quaternion frames carry with them a natural
geometry that may be exploited to compute
meaningful similarity measures. Rather than use
the Euclidean distance in four-dimensional Euclidean
space R 4 , one may use the magnitude of
the four-vector scalar product of unit quaternions
or the corresponding angle,
which is the angular difference between the two
4D unit vectors and a natural measure of great-
circle arc-length on S 3 . Choosing this as a distance
measure results in a quantity that is invariant
under 4D rotations, invariant under 3D rotations
represented by quaternion multiplication,
and is also insensitive to the sign ambiguity in
the quaternion representation for a given frame.
Thus it may be used as a quantitative measure of
the similarity of any two 3D frames. This is a natural
way to compare either successive frames on
a single streamline or pairs of frames on different
streamlines.
6.4 Probing Quaternion Frames with 4D
Light
We next explore techniques developed in other
contexts for dealing with 4D objects (see [14],
[15], and [16]). In our previous work on 4D geometry
and lighting, the critical element was the
observation that 4D light can be used as a probe
of geometric structure provided we can find a
way (such as thickening curves or surfaces until
they become true 3-manifolds) to define a unique
4D normal vector that has a well-defined scalar
product with the 4D light; when that objective
is achieved, we can interactively employ a moving
4D light and a generalization of the standard
illumination equations to produce images that selectively
expose new structural details.
Given a quaternion field, we may simply select
a 4D unit vector L to represent a "light direc-
tion" and employ a standard lighting model such
as to select individual components
of the quaternion fields for display using pseudo-color
coding for the intensity.
Fig. 12 shows a streamline data set rendered
by computing a pseudo-color index at each point
using the 4D lighting formula and varying the directions
of the 4-vector L.
6.5 True 4D Illumination
The quaternion curves in 4D may also be displayed
in an entirely different mode by thickening
them to form 3-manifolds using the method
of Hanson and Heng [15, 16] and replacing q(t) in
the 4D lighting formula and its specular analogs
by the 4D normal vector for each volume element
or vertex. The massive expense of volume rendering
the resulting solid tubes comprising the
4D projection to 3D can be avoided by extending
the "bear-hair" algorithm to 4D curves [3, 14, 21]
and rendering the tubes in the limit of vanishing
radius.
7 Interactive Interfaces
We next describe a variety of specific interactive
techniques that we have examined as tools
for exploring quaternion fields.
7.1 4D Light Orientation Control
Direct manipulation of 3D orientation using a
2D mouse is typically handled using a rolling ball
[11] or virtual sphere [6] method to give the user
a feeling of physical control. This philosophy extends
well to 4D orientation control (see [8, 13]),
giving a practical approach to interacting with
the visualization approaches of sections 6.4 and
6.5.
A 3D unit vector has only two degrees of free-
dom, and so is determined by picking a point
within a unit circle to determine the direction
uniquely up to the sign of its view-direction com-
ponent. The analogous control system for 4D
lighting is based on a similar observation: since
the 4D normal vector has only 3 independent degrees
of freedom, choosing an interior point in
a solid sphere determines the vector uniquely up
to the sign of its component in the unseen 4th
dimension (the "4D view-direction component").
Fig. 12 shows an example with a series of snap-shots
of this interactive interface at work. An
additional information display shows the components
of the 4D light vector at any particular moment

7.2 4D Viewing and Three-Sphere Projection
Control
Actually displaying quaternion field data
mapped to the 3-sphere requires us to choose
a particular projection from 4D to 3D and a
method for displaying the features of the stream-
lines. In order to expose all possible relevant
structures, the user interface must allow the
viewer to freely manipulate the 4D projection
parameters. This control is easily and inexpensively
provided using the 4D rolling ball interface
[8, 13]. A special version of our "MeshView" 4D
viewing utility [22] has been adapted to support
real-time interaction with quaternion frame structures

Figures

show snapshots from this
interactive interface for 4D rotations using parallel
and polar 4D projections, respectively.
The simplest viewing strategy plots wide lines
that may be viewed in stereo or using motion par-
allax. A more expensive viewing strategy requires
projecting a line or solid from the 4D quaternion
space and reconstructing an ideal tube in real
time for each projected streamline. The parallel
transport techniques introduced in this paper are
in fact extremely relevant to this task, and may
be applied to the tubing problem as well (see, e.g.,
[5, 18]).
7.3 3D Rotations of Quaternion Displays
Using the 3D rolling ball interface, we can generate
quaternion representations of 3D rotations
of the form
sin ') and transform the
quaternion display by quaternion multipli-
cation, i.e., by changing each point to
This effectively displaces the 3D identity frame in
quaternion space from (1; 0; 0; 0) to q. This may
be useful when trying to compare curves whose
properties differ by a rigid 3D rotation (a common
occurrence in the parallel-transport frame
due to the arbitrariness of the initial condition).
Other refinements might include selecting and
rotating single streamlines in the quaternion field
display to make interactive comparisons with
other streamlines differing only by rigid rotations.
One might also use automated tools to select rotationally
similar structures based on minimizing
the 4D scalar product between quaternion field
points as a measure of similarity.
7.4 Exploiting or Ignoring Double Points
The unique feature of quaternion representations
of orientation frames is that they are dou-
bled. If we have a single curve, it does not matter
which of the two points in S 3 is chosen as a starting
point, since the others follow by continuously
integrating small transformations. A collection
of points with a uniform orientation as an initial
condition similarly will evolve in tandem and
normally requires only a single choice to see the
pattern.
However, it is possible for a frame to rotate a
full 2- radians back to its initial orientation, and
be on the opposite side of S 3 , or for a collection of
streamlines to have a wide range of starting orientations
that preclude a locally consistent method
for choosing a particular quaternion q over its
"neighbor" \Gammaq. We then have several alternatives

ffl Include a reflected copy of every quaternion
field in the display. This doubles the data
density, but ensures that no two frame fields
that are similar will appear diametrically op-
posite; the metric properties of similar curves
will be easy to detect. In addition, 4D rotations
will do no damage to the continuity of
fields that are rotated to the outer surface
and pass from the northern to the southern
hyperhemisphere. If 4D depth is depicted by
a color code, for example, a point that rotates
up to the surface of the displayed solid
ball will smoothly pass to the surface and
then pass back towards the center while its
color changes from positive to negative depth
coding.
ffl Keep only one copy, effectively replacing q
by \Gammaq if it is not in the default viewing hy-
perhemisphere. This has the effect that each
data point is unique, but that curve frames
very near diametrically opposite points on
the S 2 surface of the solid ball representing
the north hyperhemisphere will be close in
orientation but far away in the projection.
In addition, when 4D rotations are applied,
curves that reach the S 2 surface of the solid
ball will jump to the diametrically opposite
surface instead of passing smoothly "around"
the edge to the southern hyperhemisphere.
7.5 Reciprocal Similarities and Difference

One of the most interesting properties of the
quaternion frame method is the appearance of
clusters of similar frame fields in the 3-sphere dis-
play. Two reciprocal tools for exploring these
properties immediately suggest themselves. In
Fig. 13, we illustrate the effect of grabbing a cluster
of streamlines that are spatially close in 3D
space and then highlighting their counterparts
in the 4D quaternion field space, thus allowing
the separate study of their moving frame proper-
ties. This technique distinguishes curves that are
similar in 3D space but have drastically different
frame characteristics.
Fig. 14, in contrast, shows the result of selecting
a cluster of curves with similar frame-
field properties and then highlighting the original
streamlines back in the 3D space display. This
method assists in the location of similar curves
that could not be easily singled out in the original
densely populated spatial display. We are
examining a variety of alternative approaches to
the design of such tools.
8 Conclusion
In this paper, we have introduced a visualization
method for distinguishing characteristic features
of streamline-like volume data by assigning
to each streamline a quaternion frame field derived
from its moving Frenet or parallel-transport
frame; curvature and torsion scalar fields may be
incorporated as well. The quaternion frame is
a four-vector field that is a piecewise smoothly
varying map from each original space curve to a
new curve in the three-sphere embedded in four-dimensional
Euclidean space. This four-vector
field can be probed interactively using a variety
of techniques, including 4D lighting, 4D view con-
trol, and interaction with selected portions of the
data in tandem 3D streamline and 4D quaternion
field displays.

Acknowledgments

This work was supported in part by NSF grant
IRI-91-06389. We thank Brian Kaplan for his assistance
with the vector field data set. We are
indebted to Bruce Solomon for bringing reference
[4] to our attention, and to the referees for a number
of helpful suggestions.



--R

Orientation maps: Techniques for visualizing rotations (a consumer's guide).

Illumination in diverse codi- mensions
There is more than one way to frame a curve.
Calculation of reference frames along a space curve.
A study in interactive 3-d rotation using 2-d control devices
Mathematicians gather to play the numbers game.
Virtual reality performance for virtual geometry.
A Treatise on the Differential Geometry of Curves and Surfaces.
Modern Differential Geometry of Curves and Surfaces.
The rolling ball.
Quaternion Frenet frames.
Rotations for n-dimensional graphics
Interactive visualization methods for four di- mensions
Visualizing the fourth dimension using geometry and light.
Illuminating the fourth dimension.
Visualizing flow with quaternion frames.
Parallel transport approach to curve framing.
Visualizing quaternion rotation.
Constructing stream surfaces in steady 3d vector fields.
Rendering fur with three dimensional textures.
A portable 4D geometry viewer written in OpenGL/Motif
Using geometric constructions to interpolate orientation with quaternions.
Splines as embeddings for generalized cylinders.
"light"
--TR

--CTR
Andrew J. Hanson, Constrained optimal framings of curves and surfaces using quaternion Gauss maps, Proceedings of the conference on Visualization '98, p.375-382, October 18-23, 1998, Research Triangle Park, North Carolina, United States
Andrew J. Hanson, Visualizing quaternions, ACM SIGGRAPH 2005 Courses, July 31-August
frenet frame;quaternion;orientation frame