Content uploaded by Myung-Soo Kim
Author content
All content in this area was uploaded by Myung-Soo Kim on Nov 18, 2014
Content may be subject to copyright.
A General Construction Scheme for Unit Quaternion Curves
with Simple High Order Derivatives1
Myoung-Jun Kim2
, Myung-Soo Kim3
, and Sung Yong Shin2
2Korea Advanced Institute of Science and Technology (KAIST)
3Pohang University of Science and Technology (POSTECH)
ABSTRACT
This paper proposesa new class of unitquaternion curves in 3 .
A general method is developed that transforms a curve in 3(de-
fined as a weighted sum of basis functions) into its unit quaternion
analogue in 3 . Applying the method to well-known spline
curves (such as B´ezier, Hermite, and B-spline curves), we are able
to construct various unit quaternion curves which share many im-
portant differential properties with their original curve s.
Many of our naive common beliefs in geometry break down
even in the simple non-Euclidean space 3or 3 . For exam-
ple, the de Casteljau type construction of cubic B-spline quaternion
curves does not preserve 2-continuity [10]. Through the use of
decomposition into simple primitive quaternion curves, our quater-
nion curves preserve mostof thealgebraic anddifferential properties
of the original spline curves.
CR Descriptors: I.3.5 [Computer Graphics]: Computational
Geometry and Object Modeling – Curve, surface, solid, and object
representation, – Geometric algorithms. Keywords: Quaternion,
rotation, orientation, 3 , B´ezier, Hermite, B-spline
1 INTRODUCTION
In computer animation, it is very important to have appropriate
tools to produce smooth and natural motions of a rigid body. A
rigid motion in 3can be represented by a Cartesian product of two
component curves: one in the Euclidean space 3and the other
in the rotation group 3 [3, 12]. The curve in 3represents
the center position of the rigid body, and the other curve in 3
represents its orientation. Often, techniques for specifying a rigid
motion construct the two curves independently. It is relatively
easy to produce smooth curves in the Euclidean space. B-spline,
Hermite, and B´ezier curves exemplify well-known techniques for
constructing position curves in 3. However, smooth orientation
curves in 3 are much more difficult to construct.
1This research was partially supported by the Korean Ministry of Science and
Technology under the contract 94-S-0 5-A-03 of STEP 2000 and TGRC-KOSEF.
2Computer Science Departme nt,KAI ST, Taejeon 305-7 01,Korea.
3Dept. of Comp uter Science, POSTECH, Pohang 79 0-784, Korea.
E-mail: mjkim, syshin @jupiter.kaist.ac.kr and mskim@vision.postech.ac.kr.
The spline curves in 3are usually defined in two different but
equivalent ways: i.e., either as an algebraic construction using basis
functions or as a geometric construction based on recursive linear
interpolations [2]. This paper proposes a general framework which
extends the algebraic construction methods to 3 . Most of the
previous methods are based on extending the linear interpolation in
3to the slerp (spherical linear interpolation) in 3 [14, 16, 17,
18]. The two (i.e., algebraic and geometric) construction schemes
generate identical curves in 3; however, this is not the case in
the non-Euclidean space 3 [10]. Many of our commonplace
beliefs in geometry breakdown in the non-Euclidean space 3 .
When the recursive curve construction is not based on a simple
closed form algebraic equation, it becomes extremely difficult to
do any extensive analysis on the constructed curve. For example,
consider the problem of computing the first derivative of the cubic
B´ezier quaternion curve or the squad curve generatedby a recursive
slerp construction [17, 18]. Though Shoemake [17, 18] postulates
correct first derivatives, the quaternion calculus employed there
is incorrect (see [9] for more details). Kim, Kim, and Shin [9]
developed a correct quaternion calculus for the first derivatives
of unit quaternion curves; however, an extension to the second
derivatives becomes muchmore complex (also see [11] for a related
quaternion calculus on blending-type quaternion curves).
More seriously, the 2-continuity of a spline curve in 3may
not carry over to 3 . Furthermore, the curve conversion be-
tween two different spline curves, e.g., from a cubic B´ezier curve to
the corresponding cubicB-spline curve, may notwork out in 3
[10]. Kim, Kim, and Shin [10] show that there is no 2-continuity
guaranteed for the cubic B-spline quaternioncurves which are gen-
erated by the recursiveslerp construction of Schlag [16]. Similarly,
the B-spline quaternion curve of Nielson and Heiland [13] also fails
to have 2-continuity (see [10] for more details).
In this paper, we take an important step toward generalizing
the algebraic formulation of spline curves in 3to similar ones
in 3 . In the new algebraic formulation, the computation of
high order derivatives becomes almost as easy as that of the spline
curves in 3. We show that the quaternion curves generated in
this way preserve many important differential properties of their
original curves in 3. They are defined in simple closed algebraic
forms of quaternion equations, and they have the same degrees of
geometric continuity as their counterparts in 3.
As a demonstration of the feasibility of our proposed method,
we first construct a B´ezier quaternion curve with control unit
quaternions. Then, the cubic B´ezier quaternion curve is used to
construct a Hermite quaternion curve. We also construct a -th
order B-spline quaternion curve which is 2-continuous and lo-
cally controllable. There are many other spline curves which can
be defined by weighted sums of control points; our construction
method is general in that all these spline curves are extendible to
their corresponding quaternion curves. Since it is possible to ma-
nipulate the position curve as well as the corresponding orientation
curve in a unified manner, the modeling and manipulation of rigid
motions can be managed more conveniently.
The key to the success of our construction method is that the
quaternion curve is formulated as a product of simple primitive
quaternion curves: exp , 1 , for some
fixed angular velocity 3and real valued function ,
where exp : 33 is an exponential map [3]. Each
primitive curve, , represents a rotation about a fixed axis,
3, for which the derivative formula has an extremely
simple form: exp .
Since the chain rule can be applied to the quaternion product:
1, the resulting differential formula has the
simplest expression that one can expect for unit quaternion curves.
Furthermore, a similar technique can be used to obtain high order
derivatives of our quaternion curves. There have been many other
methods suggested for the construction of quaternion curves, in-
cludingtheCAGD approaches basedon constructingrational curves
on the 3-sphere 3[8, 20]. Nevertheless, no method has provided
such a simple derivative formula. The only exception is the method
ofPobegailo[15] which constructsa -continuous sphericalcurve
as a product of 1 rotation matrices: 1 1 . The gen-
erated curve is, however, essentially restricted to the B´ezier type
quaternion curve of our method.
The development of closed form equations for the second order
derivatives provides an importantstep toward solving the important
problem of torque minimization for 3D rotations [1, 6, 7]. How-
ever, the torque minimization problem requires much more. The
optimal solution is given as a critical path in the problem of cal-
culus of variations among a set of quaternion paths which satisfy
the given conditions. For this purpose, we may need to extend
the quaternion curve construction scheme of this paper to that of
quaternion surfaces and volumes. This is currently a difficult open
problem. Therefore, the important problem of torque minimization
for 3D rotations has not been solved in this paper. Nevertheless, the
basic algebraic approach taken in this paper provides an important
conceptual framework for future research toward this goal.
The rest of this paper is organized as follows. In Section 2,
we briefly review some useful concepts and definitions related to
unit quaternions. Section 3 describes the main motivation of this
work. Section 4 outlines our basic idea for constructing unit quater-
nion curves. Section 5 constructs the B´ezier, Hermite, and B-spline
quaternion curves and discusses their differential properties. Sec-
tion 6 shows someexperimental results with discussions onpossible
further extensions. Finally, in Section 7, we conclude this paper.
2 PRELIMINARIES
2.1 Quaternion and Rotation
Given a unit quaternion 3, a 3D rotation 3 is
defined as follows:
1for 31
where isinterpreted as a quaternion 0 and the
quaternion multiplication is assumed for the products [3, 17, 18].
Let cos ˆ sin 3, for some angle and unit vector
ˆ2, then is the rotation by angle 2 about the axis ˆ. The
multiplicative constant, 2, in the angle of rotation, 2 , is due to the
factthat appears twice in Equation (1). Also note that ;
that is, two antipodal points, and in 3, represent the same
rotation in 3 .
The two spaces 3and 3 have the same local topologyand
geometry. The major difference is in the distance measures of the
twospaces 3 and 3. A rotation curve 3 istwice
aslongasthecorresponding unitquaternion curve 3. When
a smooth rotation curve has an angular velocity 2 3,
the unit quaternion curve 3satisfies:
2
In this paper, we construct the unit quaternion curves in 3, instead
of 3 ; therefore, we interpret the velocity component of
as the angular velocity, instead of 2 .
The unit quaternion multiplication is not commutative; the or-
der of multiplication is thus very important. Let 1 2 be
a sequence of successive rotations. When each is measured in
the global frame, the product 1 1 is the net rotation of
successive rotations. However, when each is measured in the
local frame, the final product 1 2 represents the net rota-
tion. Note that the latter is the same as the successive rotations
of 1 2 1 in the global frame. Here, we assume each
rotation is specified in the local frame. This is simply for notational
convenience; in the local frame, we can write the multiplications in
the same order asthe rotations. By reversing the order of quaternion
multiplications, the same construction schemes can be applied to
the quaternion curves defined in the global frame.
2.2 Exponential and Logarithmic Maps
Given a vector ˆ3, with ˆ 2, the exponential:
exp
0
cos ˆ sin 3
becomes the unit quaternion which represent the rotation by angle
2about the axis ˆ, where is computed using the quaternion mul-
tiplication [3, 11, 18]. The exponential map exp can be interpreted
as a mapping from the angularvelocity vector (measured in 3) into
the unit quaternion which represents the rotation. When we limit
the domain of exp so that , the map exp becomes 1-to-1 and
its inverse map log can be defined for unit quaternions. (See [9]
for more details on exp and log.) The power of a unit quaternion
with respect to a real valued exponent is defined to be a unit
quaternion: exp log .
Giventwounit quaternions 1and 2, the geodesic curve 1 2
3(which connects 1and 2) has constant tangential velocity
log 1
12. The geodesic curve equation is given by:
1 2 1exp log 1
12 1 1
123
The geodesic 1 2 is also called the slerp (spherical linear inter-
polation) between 1and 2.
3 MOTIVATION
For a translational motion in 3, the position curve is repre-
sented by:
04
where is the velocity and 0is the initial position. This relation
can also be represented by the following linear differential equation:
5
However, as shown in Equation (1), the relation between and
is non-linear: .
One of the most important problems in aero-space engineering
is how to find a torque optimal rotational path which connects the
start and target orientations [7]. Many numerical methods have
been suggested to find the optimal path, in which Equation (1)
plays an important role as governing equation [6]. Barr et al. [1]
also raised torque optimization as a significant problem in computer
animation, and they constructed a torque optimal piecewise slerp
quaternion path (i.e., as a sequence of discrete unit quaternions) by
using a non-linear optimization technique. There still remains the
important open problem of how to construct such a torque optimal
path with piecewise spline quaternion curves which have simple
closed form equations. An immediate open problem concerns the
computation of high order derivatives of a unit quaternion curve. In
this paper, we resolve the crucial problem of how to formulate the
quaternion curves and their high order derivatives as closed form
equations.
For a unit quaternion curve 3, we may reformulate the
curve in the following equivalent form:
exp log
By applying the chain rule to this equation, we obtain the first
derivative formula:
exp log log
where exp log is the differential (i.e., Jacobian matrix) of
exp. Kim, Kim, and Shin [9] used this formula to provide simple
1-continuity proofs for various previous methods [11, 17, 18].
The second and high order derivative formulas, however, become
extremely complex even with this representation. Moreover, for
general quaternion curves , their logarithmic curves, log ,
also have very complex formulas. In this paper, we exploit simple
primitive quaternion curves which allow simple formulas for
both the high order derivatives and the logarithmic curves.
Shoemake [18] used the formula:
log 16
In general, this formula is incorrect. For example, Equation (6)
claims that: 22 . However, we have:
22
since the quaternion multiplication is not commutative (also see [9]
for more details). Nevertheless, there is a special case where this
formula works. When the quaternion curve is restricted to the
rotation around a fixed axis 3: i.e.,
exp
for a real-valued function , has a simple form:
exp
which is equivalent to the formula of Equation (6) in this special
case. Higher order derivatives of are also easy to compute by
the chain rule.
To makegood use ofthis simple differential property, all the unit
quaternion curvesof this paperwill be constructedas the products of
primitive quaternion curves: exp , 1 ,
for a fixed angular velocity 3and a real valued function
. Since the chain rule can be applied to the quaternion prod-
uct: 1, the quaternion curve derivative can
be obtained in an extremely simple form. Furthermore, applying
a similar technique recursively, high order derivatives can also be
obtained in simple forms. In this paper, we construct each com-
ponent quaternion curve to be -continuous by choosing
-continuous basis function . Therefore, their quaternion
product 1becomes -continuous.
q0
ω1
q1
ω2
q2
ωn
qn
Figure 1: Piecewise Slerp Interpolation of .
4 BASIC IDEA
4.1 Cumulative Form
Given a sequence of points 0 1 3, the simplest 0-
continuous curve 3, which interpolates each point at
, is given by the following linear interpolation:
0 1 ∆1 2 ∆2∆
01∆
where ∆1
0 if
if 1
1 if 1
Similarly, given a sequenceof unitquaternions 03,
we can construct a 0-continuous unit quaternion curve 3,
which interpolates each unit quaternion at , as follows:
0exp 1 1 exp 2 2 exp
01exp
where log 11
This is a piecewise slerp(spherical linear interpolation)of (see
Figure 1). In the rotational space, a slerp implies a rotation with a
constant angular velocity (around a fixed rotation axis). The slerp
curve segment joining and 1is the geodesic interpolation,
which is given by: exp , based on Euler’s theorem of
principal rotation.
At this point, we may generalize to other functions, rather
than a piecewise linear function, so that the resulting quaternion
curve becomes -continuous while interpolating the given se-
quence of unit quaternions. The two sequences and can
be viewed as basis functions and their coefficients, respectively.
We call 0exp the cumulative form of with their co-
efficients . The cumulative form has several advantages over
other quaternion curve representations:
1. It has a simple closed form equation, which simplifies the
evaluation of curve points and reduces the numerical errors.
2. Itfacilitates straight-forwardcomputations ofhighorderderiva-
tives.
3. Using -continuous basis functions , we can easily
construct -continuous quaternioncurves,which are further
controlled by the coefficients .
4. A well-chosen set of basis functions makes the constructed
quaternion curves locally controllable.
5. Since exp 1, the quaternion curves are in 3.
4.2 Cumulative Basis
In the Euclidean space 3, there are many well-known spline curve
construction schemes such as B´ezier and B-spline curves. Most
of the spline curves are represented as the sums of basis functions
with their control points as the coefficients. Let be the basis
functions and be the control points. Then, the spline curve
, determined by , is given by:
0
which is called the basis form of . We present a general scheme
thatconvertsthe basis formtothe cumulative formofthequaternion
curve. Using this method, we can easily construct various unit
quaternion curves from their analogues in the Euclidean space 3.
The basis form can be first converted into the following form:
0 0
1
∆
where ∆1
Then, the corresponding quaternion curve is obtained as follows:
0
0
1
exp 7
by converting to , 0to 0,∆to log 11,
and vector addition to quaternion multiplication. Equation (7) is
given in a cumulative form. One needs to be extremely careful in
the order of multiplication: 11. If the angular velocities are
given in the global frame, the quaternion multiplication: 11
should be used, instead of 11. The new basis is called
the cumulative basis of . The cumulative form is the basic
tool for our quaternion curve construction in 3 . Simply by
deriving a cumulative basis , we can easily obtain a quaternion
curve which shares many important differential properties with its
counterpart in the Euclidean space 3.
5 A NEW CLASS OF QUATERNION CURVES
5.1 B´
ezier Quaternion Curve
We can represent an -th order B´ezier curve with Bernstein basis
1 as follows:
0
8
where ’s are the control points. For the B´ezier curve given in a
basis form, we can applyour quaternion curveconstruction method.
We first reformulate Equation (8) as follows:
0˜0
1
∆˜
where the cumulative basis functions are given by:
˜9
Then,byconvertingit to thecumulativeform,we can obtain the -th
order B´ezier quaternion curve with control points as follows:
0
1
exp ˜10
where log 11
Note that ˜01. This B´ezier quaternion curve has a different
shape from the B´ezier quaternion curve of Shoemake [17].
5.2 Hermite Quaternion Curve
A cubic Hermite curve is defined by two end points, and , and
two end velocities, and . Alternatively, the Hermite curve can
be represented by a cubic B´ezier curve:
3
0
11
with the condition:
0 1 323312
where 3for 0 1 2 3.
Similarly, a cubic B ´ezier quaternion curve can be used to de fine
a Hermite quaternion curve which interpolates two end unit quater-
nions, and , and two end angular velocities, and . From
Equation (10), the cubic B´ezier quaternion curve is given by:
0
3
1
exp ˜13
where ˜ ˜ 3for 1 2 3. The quaternion counterpart
of Equations (12) is given by:
0 1 exp 3 2exp 3 13
These four identities determine the three coefficients of the cubic
B´ezier quaternion curve in Equation (13) as follows:
1log 1
01log 1exp 3 3
2log 1
12log exp 3 1 1 exp 3 1
3log 1
23log exp 3 13
Using these three angular velocities, we canconstruct a cubic Her-
mite quaternion curve from Equation (13). Note that we can assign
arbitrarily large angular velocities at the curve end points. The
angular velocity 2provides an extra degree of freedom in choos-
ing the number of revolutions while not losing the end point
interpolation property. That is, instead of 2, we may use
2 2 for an integer
where 2 2 2 . The curve shape changes, depending on the
number of revolutions. (Note that the angular velocity is measured
here in 3; therefore, the magnitude is half the rotation in the
physical space.) Figure 2 shows the graphs of basis functions ˜’s.
Figure 3 shows Hermite quaternion curves with the same control
points, but with different angular velocities ’s. Since it is difficult
to visualize the quaternion curves in 3, they are projected onto a
unit sphere in 3.
Now, we will show that the cubic Hermite quaternion curve
interpolates the two orientations, and , and the two angular
Figure 2: Graphs of ˜.
qa
qb
Figure 3: Examples of Hermite Quaternion Curves.
velocities, and , at the curve end points. It is easy to show
that: 00exp 0 exp 0 exp 0
0
10exp 1exp 2exp 3
01
011
121
23
3
The first derivative of is given by:
0exp 1˜1 1 ˙
˜1exp 2˜2exp 3˜3
0exp 1˜1exp 2˜2 2 ˙
˜2exp 3˜3
0exp 1˜1exp 2˜2exp 3˜3 3 ˙
˜3
where ˜11 1 3˜23223˜33
˙
˜13 1 2˙
˜26 1 ˙
˜332
Thus, we have:
00exp 013exp 0 exp 0
0exp 1˜1exp 0 20exp 3˜3
0exp 1˜1exp 2˜2exp 0 30
0
10exp 1 10exp 2exp 3
0exp 1exp 2 20exp 3
0exp 1exp 2exp 3 33
01
011
121
2333
3
which meansthat the quaternioncurve has its angular velocities
10 0 10 and 11 1 11
at the curve end points.
5.3 B-spline Quaternion Curve
The B-spline curve is very popular in computer graphics because
of its extreme smoothness and local controllability. By moving a
control point, we can selectively modify the B-spline curve without
losing its geometric continuity. In this section, we consider how
to convert a B-spline curve in 3into its quaternion analogue with
a cumulative form. Then, we investigate the properties such as
-continuity and local controllability.
A B-spline curve is defined by a weighted sum of B-spline
basis functions , which are 2-continuous 1 -th
order piecewise polynomials. Given a set of control points , a
B-spline curve is given by:
0
The B-spline basis functions are defined by the following
recurrence relation [4]:
11 if 1
0 otherwise
and
1111 1
It is easy to show that ’s are 2-continuous piecewise poly-
nomials of degree ( 1). They are 2-continuous every-
where, and may not be 1-continuous only at the knots .
Each has a non-zero support on the interval , i.e.,
0 for or .
The B-spline curve may be reformulated in the following cu-
mulative form:
0 0
1
∆
where ∆1
and
if 1
1 if 1
0 if
By converting to , 0to 0,∆to , and summation
to quaternion multiplication, the corresponding quaternion curve is
obtained in a cumulative form as follows:
0
0
1
exp
where log 11. This gives our B-spline quaternion curve,
which is 2-continuous and locally controllable with the control
points and the angular velocities . The B-spline quater-
nion curve also allows arbitrarily large angular velocities between
two consecutive control points . Figures 4 and 5 show the
graphs of basis functions 4and 4, respectively. Note
that isnon-constant onlyin the interval 1,whereas
is non-constant in . Figure 6 shows examples of B-
spline quaternion curves. The local shape controllability is shown
with dashed curves.
Figure 4: B-spline Basis Functions.
Figure 5: Cumulative B-spline Basis Functions.
Now, we can investigate some interesting differential and ge-
ometric properties of the B-spline quaternion curve: i.e., -
continuity and local controllability. It is easy to show that
is 2-continuous since it is a weighted sum of 2-continuous
functions . Therefore, the -th order B-spline quaternion
curve is 2-continuous as well. Since the cumulative basis func-
tion is non-constant in the interval 1, the quater-
nion curve on the interval 1can be represented
by:
01
1exp 12exp
1exp 0
12exp
This equation shows that the quaternion curve depends only
on the quantities: 1,1,, that is, only on the
controlpoints: 1. In other words, by moving the
control point , the curve shape is influenced only on the interval
.
Furthermore, the derivation of is extremely simple due to
the B-spline differentiation formula [4]:
11
11
where ’s are constants. Therefore, we have:
1
11
In the case of a uniform B-spline, there is a further reduction to:
1.
q1
q2
q4
q5
q6
q3
Figure 6: B-spline Quaternion Curve with Six Control Points.
6 EXPERIMENTAL RESULTS
6.1 Torque Computation
The spline interpolation in 3produces a path which minimizes
the energy:
¨2
while satisfying given constraints. Thus, the spline interpolation
path does not generate unnecessary force (or acceleration). The
energy minimization property makes the spline interpolation very
useful. As far as rotational motion is concerned, it is important to
minimize torque (or angular acceleration). Most of the previous
results on quaternion interpolation have concentrated on improving
the computational efficiency rather than attacking the more chal-
lenging problem of energy minimization.
Barr et al. [1] took an important step toward the energy min-
imization. The quaternion path is approximated by discrete unit
quaternions and a time-consuming non-linear optimization is em-
ployed in the algorithm. There still remains an important open prob-
lemconcerninghowto constructanenergyminimizationquaternion
path, ideally with a closed form equation and without using a time-
consuming optimization technique. In this paper, we have provided
a useful step toward the resolution of this problem by introducing a
new class of spline quaternion curves for which high order deriva-
tives can be obtained in simple closed form equations. Although
the problem of how to deal with these closed form equations is still
unsolved, our quaternion curves exhibit promising behaviors by
generating relatively small torque compared with those generated
by the previous methods.
Our cubic quaternioncurves generate asimilar amount of torque
(inthe range of 5%)tothat of Shoemake [17]when thecontrolunit
quaternions have small angular variations. However, our curves
perform much better when the variations are large. The meth-
ods based on recursive slerp constructions may generate twisted
curves when the spherical control polygon on 3has edges of rel-
atively large lengths. This effect can be explained as follows. The
slerp-basedmethods generatea sequenceofintermediatequaternion
curves ’s, and blend each pair of two consecutive curves
and 1to generate another sequence of quaternion
curves 1’s:
1exp log 11
for some blending function . When the variations of con-
trol quaternions are large, the two quaternion curves and
1have large curve lengths. They may have complex wind-
ingshapes inthecompactspace 3. Thedifference quaternioncurve
11would also wind many times. However, the
measure, log 11, is always bounded by , which
totally ignores the large amount of winding. As a result, the blend-
ingcurve 1experiences largebending,which produces large
torque. As the intermediate curves with bending shapesare blended
recursively,the resulting quaternion curve has a twisting shape.
Our quaternion curves do not suffer from such a degener-
acy. This is because our primitive quaternion curve
exp may accommodate arbitrarily large angular velocity
. The resulting curve has a large number of winding; however,
the curve does not produce extraordinary bending and/or twisting.
Therefore, our curves perform much better when the angular varia-
tions are large. Furthermore, our curves have 2-continuity, which
means that there is no torque jump at the curve joint. The piecewise
cubic quaternion curves (based on the de Casteljau type construc-
tion) are not 2-continuous; they have torque jump at each curve
joint. High degree rational spherical curves have 2-continuity
[19]; however, their speeds are less uniform than the curves based
on the de Casteljautype construction. Therefore, the rational curves
generate redundant tangential accelerations, which has undesirable
effect.
6.2 Animation Examples
We present some examples to demonstrate the feasibility of our
quaternioncurves. Figure7 showsan animationofa flyingboomerang.
In this example, the motion path is composed of a Hermite curve
for the translation and a Hermite quaternion curve for the rotation.
Using the Hermite quaternion curve, we can specify arbitrary ori-
entations and angular velocities of the boomerang at the start and
end of the animated motion. Note that the boomerang experiences
many revolutions. This effect is obtained by assigninglarge angular
velocities at both ends.
Ourcubic B-spline quaternioncurveproducesextremely smooth
motions. Figure 8 shows a motion path, which is specified by a
B-spline curve with six control points. A rigid motion path can
be used to specify the sweeping of a 2D cross section. Figure 9
shows a sweep object generated from the same motion path given
in Figure 8. Figure 10 shows an example of B-spline quaternion
interpolation for a rigid body, where the position and orientation
interpolation curves are constructed by the B-spline interpolation
curves in 3and 3 , respectively. Six keyframes are used in
this example, and they are shown in dark tints.
7 CONCLUSIONS
A general construction method is proposed for unit quaternion
curves. Given a spline curve in 3, the spline curve is reformulated
in a cumulative basis form and the corresponding quaternion curve
is constructed by converting each vector addition into the quater-
nion multiplication. The quaternion curve is formulated as a finite
product of simple quaternion curves, which makes the evaluation
of high order derivatives quite straightforward. The constructed
quaternion curves preserve many important differential properties
of their counterparts in 3. Furthermore, the quaternion curves
and their high order derivatives are given by simple closed form
equations.
Experimental results are quite promising in that our quaternion
curves use small torque compared with the previous quaternion
curves, especially when the control quaternions have large varia-
tions. Although the important torque minimization problem has
not been solved in this paper, our approach provides an important
initial step toward this goal.
Figure 7: Boomerang Animation using one Hermite Quaternion
Curve.
Figure 8: Rigid Motion by a Cubic B-spline Quaternion Curve.
Figure 9: Sweeping with Cubic B-spline Quaternion Curves.
Figure 10: Example of B-spline Quaternion Interpolation.
REFERENCES
[1] BARR, A., CURRIN, B., GABRIEL, S., AND HUGHES, J. Smooth
interpolation of orientations with angular velocity constraints
using quaternions. Computer Graphics (Proc. of SIGGRAPH
’92) (1992), pp. 313–320.
[2] BARRY, P., AND GOLDMANN, R. A recursive evaluation algo-
rithm for a class of Catmull-Rom splines. ComputerGraphics
(Proc. of SIGGRAPH ’88) (1988), pp. 199–204.
[3] CURTIS, M. Matrix Groups, Springer-Verlag, 1972.
[4] DE BOOR, C. A Practical Guide to Splines, Springer-Verlag,
1978.
[5] HAMILTON, W. Elements of Quaternions (Volume I, II),
Chelsea Publishing Company, 1969.
[6] JUNKINS, J., AND TURNER, J. Optimal continuous torque
attitude maneuvers. J. Guidance and Control 3, 3 (1980),
pp. 210–217.
[7] JUNKINS, J., AND TURNER, J. Optimal Spacecraft Rotational
Maneuvers, Elsevier, 1986.
[8] JUTTLER, B. Visualization of moving objects using dual
quaternion curves. Computers & Graphics 18, 3 (1994),
pp. 315–326.
[9] KIM, M.-J., KIM, M.-S., AND SHIN, S. A compact differential
formula for the first derivative of a unit quaternion curve. To
appear in J. of Visualization and Computer Animation (1995).
[10] KIM, M.-J., KIM, M.-S., AND SHIN, S. A 2-continuous B-
splinequaternioncurve interpolatinga given sequenceof solid
orientations. Proc.of ComputerAnimation’95 (1995), pp. 72–
81.
[11] KIM, M.-S., AND NAM, K.-W. Interpolating solid orienta-
tions with circular blending quaternion curves. To appear in
Computer-Aided Design (1995).
[12] NIELSON, G. Smooth interpolation of orientation. Models
and Techniques in Computer Animation (Proc. of Computer
Animation ’93) (1993), N. Thalmann and D. T. (Eds.), Eds.,
Springer-Verlag, pp. 75–93.
[13] NIELSON, G., AND HEILAND, R. Animated rotations
using quaternions and splines on a 4D sphere. Pro-
grammirovanie(Russia)(July-August 1992), Springer-Verlag,
pp. 17–27. English edition, ProgrammingandComputerSoft-
ware, Plenum Pub., New York.
[14] PLETINCKS, D. Quaternioncalculus asa basictool incomputer
graphics. The Visual Computer 5, 1 (1989), pp. 2–13.
[15] POBEGAILO, A. Modeling of spherical and orientation
splines. To appear in Proc. of Pacific Graphics ’95 (1995).
[16] SCHLAG,J.Usinggeometricconstructions tointerpolateorien-
tation with quaternions. Graphics GEMS II, Academic Press,
1992, pp. 377–380.
[17] SHOEMAKE, K. Animating rotation with quaternion curves.
Computer Graphics (Proc. of SIGGRAPH ’85) (1985),
pp. 245–254.
[18] SHOEMAKE, K. Quaternion calculus for animation. Math for
SIGGRAPH (ACM SIGGRAPH ’91 Course Notes #2) (1991).
[19] WANG, W. Rational spherical curves. Presented at
Int’l. Conf. on CAGD, Penang, Malaysia (July 4-8, 1994).
[20] WANG, W., AND JOE, B. Orientation interpolation in quater-
nion space using spherical biarcs. Proc. of Graphics Interface
’93 (1993), pp. 24–32.
APPENDIX
In this appendix, we provide the pseudo codes for the construction
of quaternion curves presented in Section 5.
B´
ezier Quaternion Curve
// 0: control points
double ˜1
quaternion Bezier 0 1
return (01exp log 11˜;
end
Hermite Quaternion Curve
// : the start and end orientations
// : the start and end angular velocities
double ˜11 1 3,˜23223,˜33
quaternion Hermite
0;
13;
2log exp 11 1 exp 3;
33;
return (0exp 1˜1exp 2˜2exp 3˜3);
end
B-spline Quaternion Curve
// : knot sequence
double = B-spline basis of order
double
quaternion B-spline 0 1
max 1;
if (0) then
0; 0
0
else ;
for ( 1; && ; ++)
exp log 11;
return ();
end
Uniform B-spline Quaternion Curve
// 2: uniform knots
// 0
// uniform-B-spline 0 0
// uniform-B-spline
// uniform-B-spline
quaternion uniform-B-spline 0 1
1 0 1
10; //phantom
111;// control points
1 ;
;
for (1; 2; ++)
exp log 11;
return ();
end