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-

ﬁned 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 difﬁcult 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 deﬁned 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 difﬁcult to

do any extensive analysis on the constructed curve. For example,

consider the problem of computing the ﬁrst 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 ﬁrst 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 ﬁrst 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 deﬁned 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 ﬁrst 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 deﬁned 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 uniﬁed 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

ﬁxed angular velocity 3and real valued function ,

where exp : 33 is an exponential map [3]. Each

primitive curve, , represents a rotation about a ﬁxed 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 difﬁcult 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 brieﬂy review some useful concepts and deﬁnitions 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

deﬁned 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 3satisﬁes:

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 ﬁnal 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 speciﬁed 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 deﬁned 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 deﬁned 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 deﬁned 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 ﬁnd a torque optimal rotational path which connects the

start and target orientations [7]. Many numerical methods have

been suggested to ﬁnd 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 signiﬁcant 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 ﬁrst

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 ﬁxed 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 ﬁxed 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 ﬁxed 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 coefﬁcients, respectively.

We call 0exp the cumulative form of with their co-

efﬁcients . The cumulative form has several advantages over

other quaternion curve representations:

1. It has a simple closed form equation, which simpliﬁes 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 coefﬁcients .

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 coefﬁcients. 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 ﬁrst 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 ﬁrst 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 deﬁned 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 ﬁne

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 coefﬁcients 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 difﬁcult

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 ﬁrst 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 deﬁned 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 deﬁned 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 inﬂuenced 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 efﬁciency 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 ﬂyingboomerang.

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 speciﬁed 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 ﬁnite

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 ﬁrst 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 Paciﬁc 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