Conference PaperPDF Available

General construction scheme for unit quaternion curves with simple high order derivatives



This paper proposes a new class of unit quaternion 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 Bezier, Hermite, and B-spline curves), we a re 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 3 or 3 . For exam- ple, the de Casteljau type construction of cubic B-spline qu aternion curves does not preserve 2-continuity (10). Through the use of decomposition into simple primitive quaternion curves, our quater- nion curves preserve most of the algebraic and differential properties of the original spline curves.
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)
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
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 and
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
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 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 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.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:
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:
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
The geodesic 1 2 is also called the slerp (spherical linear inter-
polation) between 1and 2.
For a translational motion in 3, the position curve is repre-
sented by:
where is the velocity and 0is the initial position. This relation
can also be represented by the following linear differential equation:
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
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:
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.,
for a real-valued function , has a simple form:
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.
Figure 1: Piecewise Slerp Interpolation of .
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
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
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-
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 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:
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
where 1
Then, the corresponding quaternion curve is obtained as follows:
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.1 B´
ezier Quaternion Curve
We can represent an -th order B´ezier curve with Bernstein basis
1 as follows:
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:
where the cumulative basis functions are given by:
Then,byconvertingit to thecumulativeform,we can obtain the -th
order B´ezier quaternion curve with control points as follows:
exp ˜10
where log 11
Note that ˜01. This ezier quaternion curve has a different
shape from the 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:
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:
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
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 ˜.
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
10exp 1exp 2exp 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 ˙
where ˜11 1 3˜23223˜33
˜13 1 2˙
˜26 1 ˙
Thus, we have:
00exp 013exp 0 exp 0
0exp 1˜1exp 0 20exp 3˜3
0exp 1˜1exp 2˜2exp 0 30
10exp 1 10exp 2exp 3
0exp 1exp 2 20exp 3
0exp 1exp 2exp 3 33
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:
The B-spline basis functions are defined by the following
recurrence relation [4]:
11 if 1
0 otherwise
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
where 1
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:
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
1exp 12exp
1exp 0
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]:
where ’s are constants. Therefore, we have:
In the case of a uniform B-spline, there is a further reduction to:
Figure 6: B-spline Quaternion Curve with Six Control Points.
6.1 Torque Computation
The spline interpolation in 3produces a path which minimizes
the energy:
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
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.
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
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
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.
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,
[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–
[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.
In this appendix, we provide the pseudo codes for the construction
of quaternion curves presented in Section 5.
ezier Quaternion Curve
// 0: control points
double ˜1
quaternion Bezier 0 1
return (01exp log 11˜;
Hermite Quaternion Curve
// : the start and end orientations
// : the start and end angular velocities
double ˜11 1 3,˜23223,˜33
quaternion Hermite
2log exp 11 1 exp 3;
return (0exp 1˜1exp 2˜2exp 3˜3);
B-spline Quaternion Curve
// : knot sequence
double = B-spline basis of order
quaternion B-spline 0 1
max 1;
if (0) then
0; 0
else ;
for ( 1; && ; ++)
exp log 11;
return ();
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 ();
... In this work we address this by fitting the dynamic object trajectories to cubic cumulative B-Spline curves [12], a type of curve that in our proposal is defined by a series of SE(3) control points distributed over time, which are interpolated to compute continuous poses. Such curve, has been previously used to estimate sensor ego-motion [13], but its application to 6-DoF object tracking remains unexplored. ...
... For a general view of interpolation methods for tracking, we refer the reader to the thorough survey of Haarbach et al. [29]. In this work, we focus on cumulative B-Splines, which were originally defined in [12] for the graphics field. As highlighted in [30], B-Splines present interesting properties for robotics/vision tasks, which were leveraged for the first time in [13] to estimate the trajectory of a rolling shutter camera for calibration and visual-inertial SLAM. ...
... A pose T(t) ∈ SE(3) at time t, interpolated with a cumulative B-Spline curve is given by [12], [13]: ...
In this paper we propose a method that estimates the $SE(3)$ continuous trajectories (orientation and translation) of the dynamic rigid objects present in a scene, from multiple RGB-D views. Specifically, we fit the object trajectories to cumulative B-Splines curves, which allow us to interpolate, at any intermediate time stamp, not only their poses but also their linear and angular velocities and accelerations. Additionally, we derive in this work the analytical $SE(3)$ Jacobians needed by the optimization, being applicable to any other approach that uses this type of curves. To the best of our knowledge this is the first work that proposes 6-DoF continuous-time object tracking, which we endorse with significant computational cost reduction thanks to our analytical derivations. We evaluate our proposal in synthetic data and in a public benchmark, showing competitive results in localization and significant improvements in velocity estimation in comparison to discrete-time approaches.
... Besides, we adopt the cumulative representation of B-spline to parameterize the rotation on SO(3) like [35][36][37], and quaternions are served as the rotational control points of Bsplines [38]: ...
... i denotes the rotational control point. exp (·) is the operation that mapping Lie algebra elements to S 3 , and log (·) is its inverse operation [38]. In this calibration system, the continuous 6-DOF poses of IMU G Iq (t), G p I (t) are represented in the global frame {G} by splines in the format of (3) and (5) with parameters of control points x p and x q for 3D translation and rotation, respectively. ...
Full-text available
Accurate and reliable sensor calibration is essential to fuse LiDAR and inertial measurements, which are usually available in robotic applications. In this paper, we propose a novel LiDAR-IMU calibration method within the continuous-time batch-optimization framework, where the intrinsics of both sensors and the spatial-temporal extrinsics between sensors are calibrated without using calibration infrastructure such as fiducial tags. Compared to discrete-time approaches, the continuous-time formulation has natural advantages for fusing high rate measurements from LiDAR and IMU sensors. To improve efficiency and address degenerate motions, two observability-aware modules are leveraged: (i) The information-theoretic data selection policy selects only the most informative segments for calibration during data collection, which significantly improves the calibration efficiency by processing only the selected informative segments. (ii) The observability-aware state update mechanism in nonlinear least-squares optimization updates only the identifiable directions in the state space with truncated singular value decomposition (TSVD), which enables accurate calibration results even under degenerate cases where informative data segments are not available. The proposed LiDAR-IMU calibration approach has been validated extensively in both simulated and real-world experiments with different robot platforms, demonstrating its high accuracy and repeatability in commonly-seen human-made environments. We also open source our codebase to benefit the research community: {\url{}}.
... For this application, the S/C attitude is represented as Euler angles (rotational sequence 1-2-3) and the basis functions are Bernstein polynomials together with the Bézier curves, because of their capability to approximate complex shapes through curve fitting and computational efficiency (Kim et al., 1995). Furthermore, the use of the Euler angles in the IDVD approach allows to have analytical expressions of the trajectory and torque histories that are computationally simpler to handle, with respect to quaternions, and it reduces the computational burden (Ventura et al., 2015). ...
... The Bézier curve B s ð Þ which interpolates the set of control points a 0 ; a 1 ; a 2 ; . . . ; a p , is described as (Kim et al., 1995) ...
This work presents an attitude control strategy for Earth-imaging satellites. The proposed methodology is based on the closed-loop implementation of a direct method and a nonlinear programming solver for the quick determination of near-optimal attitude trajectories. The two optimization criteria considered are the target acquisition time and the maneuver energy associated to the actuation torques. For comparison purposes, we take under analysis alternative attitude controllers, such as a quaternion feedback Proportional-Derivative controller, a Linear Quadratic Regulator, a Model Predictive Control, and an adaptive Continuous Twisting Sliding Mode Controller. Optimality and accuracy of these controllers are assessed through simulations in a high-fidelity environment inclusive of orbital perturbations and refined model of the actuation device. Analysis of the results emphasizes the advantages of the proposed methodology over the alternative controllers.
... They provide a flexible way for the hierarchy adjustment of global trajectory. Decoupling the translation part from 6 degree-offreedom (DoF) transformation, Lv et al. (2020) individually models the rotation part by cumulative spline function in the form of quaternion (Kim et al., 1995). With the aid of IMU measurements, it solves the calibration problem between multiple IMUs and LiDAR. ...
Full-text available
3D mapping is now essential for urban infrastructure resource monitoring, autonomous driving, and the fulfillment of digital earth. LiDAR-based Simultaneous Localization And Mapping (SLAM) technology has been widely studied because of its efficient application in the reconstruction of the 3D environments that benefitted from its sensor characteristic. However, the sparsity of low cost LiDAR (Light Detection And Ranging) sensor provides great challenge for it. Insufficient or poor distribution of the constraints as well as the motion distortion in one scan of point cloud would deteriorate the pose estimation in SLAM. In this paper, a novel 3D mapping method based only on the LiDAR data is proposed to enhance the performance of SLAM-based 3D point clouds map reconstruction. The proposed system consists of two main modules: localization module for rapid ego-motion estimation within the surrounding environment, and mapping module for accurate point clouds fusion. As for the localization, scan-to-map point cloud registration scheme are adopted where structural features are firstly extracted to provide valid correspondences. What’s more, an effective method is figured out to balance the cost factors for the optimization function of pose estimation in the process. This further handles the degenerated cases for cloud registration. Focusing on improving the quality of the map, a spline motion model is integrated with non-rigid point cloud fusion to facilitate the continuous and nonrepetitive mapping of the environment. Extensive experiments are carried out for the verification of our system including large-scale outdoor and long-corridor scenes. According to the experimental results, our system has achieved 0.78‰closure error and 27.5% improvement in the APE (Absolute Pose Errors), outperforming the state-of-the-art LiDAR-based SLAM (e.g. LeGO-LOAM) frameworks in our test sites. To specifically verify the performance of 3D mapping, the precision of 3D points is quantified through comparing with the high-precision point cloud maps collected by MLS (Mobile Laser Scanning) and TLS (Terrestrial Laser Scanning). The RMS of point-to-plane distances have improved 20% based on the fitted Weibull distribution. In addition, some ablation tests are conducted to reveal the efficacy of different components in our system.
The requirement to observe moving targets raises the time-varying pointing constraint for spacecraft attitude maneuver, which is seldom considered in existing attitude maneuver path planning methods. Therefore, a pointing-based method for attitude maneuver path planning under time-varying pointing constraints is proposed. Considering that pointing constraints are exerted on the perceptional sensor of spacecraft, an improved rapidly-exploration random tree method is designed to obtain the rotational pointing nodes while satisfying the pointing constraints. To this end, the key point is to define the time property of sampled nodes to determine their relations with time-varying constraints. Subsequently, the attitude quaternion nodes are generated according to pointing nodes. Finally, to find a continuous quaternion curve passing through quaternion nodes, component-wise and piecewise quaternion interpolation functions are adopted to calculate the angular velocity and control torque by the inverse dynamics method. The attitude motion spherical shell is designed by using the radial component to represent the timeline to visually display the satisfaction of time-varying constraints. Simulation results are used to validate the feasibility of the proposed method.
The existing, universal approaches to sensory system calibration do not consider target application during calibration. We propose a new approach to calibration that uses the target application processing pipeline to measure the calibration quality. This approach is exemplified and tested in the calibration of an onboard vision system used to localize a city bus to an electric charging station. Our calibration procedure determines the parameters applying optimization and automatic features detection from a deep learning-based vision processing pipeline. The parameters are calibrated to produce localization estimates matching the ground truth pose measurements. We measure the calibration’s performance in a target application on over 10000 poses recorded from a real city bus over several days. The automatic calibration procedure results in numerous optimization constraints, which can be used to calibrate more parameters and reduce manual labor. The proposed approach reduces the localization errors by almost 50% in the presented target application.
Full-text available
A nonsingular formulation of the necessary conditions for optimal large-angle rotational maneuvers is presented. By optimal we mean that some integral measure of the system performance is minimized. The for-mulation is for the case of a rigid asymmetric vehicle having a control system capable of generating a continuous torque history; it is valid for an arbitrary specification of terminal orientation and angular velocity states. Analytical solutions of the two-point boundary-value problem are extracted for single-axis maneuvers, and a relaxation process is proposed for reliable numerical solutions for arbitrary boundary conditions. The validity of the necessary condition formulation is supported by analytical solutions for special cases; the relaxation process for general boundary conditions is illustrated by numerical examples.
Full-text available
A non-singular formulation of the necessary conditions for optimal large angle rotational maneuvers is presented. The formulation is for the case of a rigid asymmetric vehicle having a control system capable of generating a continuous torque history; it is valid for an arbitrary specification of terminal orientation and angular velocity states. Analytical solutions of the two-point-boundary-value problem are extracted for single axis maneuvers, and a relaxation process is proposed for reliable numerical solutions for arbitrary boundary conditions. The validity of the necessary condition formulation is supported by analytical solutions for special cases; the relaxation process for general boundary conditions is illustrated by numerical examples
Full-text available
New method of animating rotations is presented. Given a sequence of orientations of an object, this method accomplishes computations of intermediate positions which represent a smooth transition from one to the next. The method uses the quaternion of a rotation matrix and a new curve interpolation scheme for points on a four-dimensional sphere. The overall method leads to an animation function which produces motion with continuous acceleration. Application of this method in interactive C-program is presented.
This book is based on the author's experience with calculations involving polynomial splines. It presents those parts of the theory which are especially useful in calculations and stresses the representation of splines as linear combinations of B-splines. After two chapters summarizing polynomial approximation, a rigorous discussion of elementary spline theory is given involving linear, cubic and parabolic splines. The computational handling of piecewise polynomial functions (of one variable) of arbitrary order is the subject of chapters VII and VIII, while chapters IX, X, and XI are devoted to B-splines. The distances from splines with fixed and with variable knots is discussed in chapter XII. The remaining five chapters concern specific approximation methods, interpolation, smoothing and least-squares approximation, the solution of an ordinary differential equation by collocation, curve fitting, and surface fitting. The present text version differs from the original in several respects. The book is now typeset (in plain TeX), the Fortran programs now make use of Fortran 77 features. The figures have been redrawn with the aid of Matlab, various errors have been corrected, and many more formal statements have been provided with proofs. Further, all formal statements and equations have been numbered by the same numbering system, to make it easier to find any particular item. A major change has occured in Chapters IX-XI where the B-spline theory is now developed directly from the recurrence relations without recourse to divided differences. This has brought in knot insertion as a powerful tool for providing simple proofs concerning the shape-preserving properties of the B-spline series.
This monograph is the outgrowth of our recent work directed toward solving a family of problems which arise in maneuvering modern spacecraft. The work ranges from fundamental developments in analytical dynamics and optimal control to a significant collection of example applications. The primary emphasis herein is upon the most central analytical and numerical methods for determining optimal rotational maneuvers of spacecraft. We focus especially upon large angle nonlinear maneuvers. We also consider large rotational maneuvers of flexible vehicles with simultaneous vibration suppression/arrest. The rotational maneuver problem is inherently nonlinear since the general motion of a rigid body is nonlinear (owing to nonlinear kinematics and gyroscopic coupling effects). When one accounts for flexibility, multi-body effects, and actuator dynamics, it becomes immediately obvious that this family of problems embodies the dual curse of nonlinearity and high dimensionality. These two features, together with various aspects of coordinate selection, model truncation, boundary condition effects, and the physical nature of various approximations, make this a unique member of the parent family nonlinear optimal control problems. Depending upon the details of the particular vehicle's mathematical model, the admissible controls, the performance index, and boundary condition specification, we find that the degree of difficulty of optimal rotational maneuver problems ranges from near-trivial to impossible. The present developments make clear distinctions between (I) formulating the differential equations governing an optima maneuver, (ii) calculating the maneuver and (iii) actually performing the maneuver.
This chapter elaborates the use of geometric constructions to interpolate orientation with quaternions. Quaternions have been established as a useful representation for interpolating 3D orientation in computer animation. In keeping with traditional computer animation practices, one would like both interpolating, and approximating splines. This can be derived easily by applying the geometric constructions known for linear splines. A scheme for deriving Bézier control points from a sequence of quaternions is presented. This provides an interpolating spline for quaternions, but the construction is somewhat more complicated than necessary. The most common interpolating spline in use probably is the Catmull-Rom spline. A geometric construction for Catmull-Rom splines is also described. This produces an interpolating spline directly from the control points, without the construction of auxiliary Bézier points. For an approximating spline, a geometric construction for B-splines is well known. Geometric constructions is represented as a triangle with the four control points at the bottom, the result point at the top, and weighting functions for the intermediate results on each arc.
We consider the problem of interpolating a smooth curve to a point sequence in the unit quaternion space μ. This problem has application to object orientation interpolation in computer animation, sweep surface generation in solid modeling. Since the unit quaternions form the unit spheres S3 in E4, a simple curve scheme using spherical biarcs is presented to solve this problem. The spherical biarc is a curve on a sphere consisting of two smoothly joining circular arcs. It is shown that for any two given points and two tangents specified at the two points on the unit sphere, S3, there always exist spherical biarcs interpolating these data and these biarcs are easy to construct. This leads to an algorithm for constructing a smooth and locally controllable circular arc spline curve to interpolate a sequence of unit quaternions in μ. We also discuss how to compute in-between quaternions efficiently on the resulting spline curve.
The interpolation of some positions (= point + orientation) of a moving object is examined with help of dual quaternion curves. In order to apply the powerful methods of computer-aided geometric design, an interpolating motion whose trajectories are rational Bézier curves is constructed. The interpolation problem is discussed from a mechanical and a geometrical viewpoint. A representation formula for rational motions of fixed order is presented. Finally, the construction of rational spline motions is outlined. Dual quaternions prove to be very useful in computer graphics.
The paper presents a method to smoothly interpolate a given sequence of solid orientations using circular blending quaternion curves. Given three solid orientations, a circular quaternion curve is constructed that interpolates the three orientations. Therefore, given four orientations qi − 1, qi, qi + 1, qi + 2, there are two circular quaternion curves Ci and Ci + 1 which interpolate the triples of orientations (qi − 1, qi, qi + 1) and (qi, qi + 1, qi + 2), respectively; thus, both Ci and Ci + 1 interpolate the two orientations qi and qi + 1.Using a method similar to the parabolic blending of Overhauser, quaternion curve Qi(t) is generated which interpolates two orientations qi and qi + 1 while smoothly blending the two circular quaternion curves Ci(t) and Ci + 1(t) with a blending function f(t) of degree (2k − 1). The quaternion curve Qi has the same derivatives (up to order k) with Ci at qi and with Ci + 1 at qi + 1, respectively. By connecting the quaternion curve segments Qi in a connected sequence, a Ck-continuous quaternion path is generated which smoothly interpolates a given sequence of solid orientations.