Content uploaded by Yang Liu

Author content

All content in this area was uploaded by Yang Liu

Content may be subject to copyright.

Computation of Rotation Minimizing Frame

Wenping Wang

University of Hong Kong

Bert J¨uttler

Johannes Kepler University

Dayue Zheng and Yang Liu

University of Hong Kong

Due to its minimal twist, the rotation minimizing frame (RMF) is widely used in computer graph-

ics, including sweep or blending surface modeling, motion design and control in computer ani-

mation and robotics, streamline visualization, and tool path planning in CAD/CAM. We present

a novel simple and eﬃcient method for accurate and stable computation of RMF of a curve in

3D. This method, called the double reﬂection method, uses two reﬂections to compute each frame

from its preceding one to yield a sequence of frames to approximate an exact RMF. The double

reﬂection method has the fourth order global approximation error, thus much more accurate than

the two currently prevailing methods with the second order approximation error — the projection

method by Klok and the rotation method by Bloomenthal, while all these methods have about

the same per-frame computational cost. Furthermore, this method is much simpler and faster

than using the standard fourth order Runge-Kutta method to integrate the deﬁning ODE of the

RMF, though they have the same accuracy. We also investigate further properties and extensions

of the double reﬂection method, and discuss the variational principles in design moving frames

with boundary conditions, based on RMF.

Categories and Subject Descriptors: I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—Curve,

surface, solid, and object representations;J.6[Computer-Aided Engineering]: Computer-aided design (CAD); G.1.6 [Nu-

merical Analysis]: Diﬀerential Geometry—approximation

General Terms: rotation minimizing frame, motion design, sweep surface, generalized cylinder,

diﬀerential geometry

Additional Key Words and Phrases: curve, motion, rotation minimizing frame

1. INTRODUCTION

1.1 Background

Let x(u)=(x(u),y(u),z(u))Tbe a C1regular curve in E3, the 3D Euclidean space. Denote x(u)=dx(u)/du

and t(u)=x(u)/||x(u)||, which is the unit tangent vector of the curve x(u). We deﬁne a moving frame

Authors’ address: Wenping Wang, Dayue Zheng and Yang Liu, Department of Computer Science, The University of Hong

Kong, Pokfulam Road, Hong Kong, China; email [wenping, dyzheng, yliu]@cs.hku.hk; Bert J¨uttler, Johannes Kepler University,

Institute of Applied Geometry, Linz, Austria; email Bert.Juettler@jku.at. The work of the ﬁrst author was partially supported

by a grant from Hong Kong Research Grant Council.

Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that

the copies are not made or distributed for proﬁt or commercial advantage, the ACM copyright/server notice, the title of the

publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to

republish, to post on servers, or to redistribute to lists requires prior speciﬁc permission and/or a fee.

c

20YY ACM 0730-0301/20YY/0100-0001 $5.00

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY, Pages 1–0??.

2·Wenping Wang et al.

(a) The Frenet frame of a spine curve. Only normal vectors

are shown.

(b) A rotation minimizing frame (RMF) of the same curve

in (a). Only reference vectors are shown.

(c) A snake modeled using the RMF in (b).

Fig. 1. An example of using the RMF in shape modeling.

associated with x(u) to be a right-handed orthonormal system composed of an ordered triple of vectors

U(u)=(r(u),s(u),t(u)) satisfying r(u)×s(u)=t(u) (see Figure 2). The curve x(u) in this context will be

called a spine curve.Sincet(u)isknownands(u)=t(u)×r(u), a moving frame is uniquely determined by

the unit normal vector r(u). Thus ris called the reference vector ofamovingframe.

From the diﬀerential geometry point of view, a readily available moving frame of a curve in 3D is the

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·3

r

s

t

x(u)

Fig. 2. An orthonormal frame U(u)=(r(u),s(u),t(u)) attached to a spine curve x(u).

Frenet frame, whose three orthogonal axis vectors are deﬁned as

t(u)= x(u)

x(u),s(u)= x(u)×x(u)

x(u)×x(u),r(u)=s(u)×t(u).(1)

Although the Frenet frame can easily be computed, its rotation about the tangent of a general spine curve

often leads to undesirable twist in motion design or sweep surface modeling. Moreover, the Frenet frame

is not continuously deﬁned for a C1spine curve, and even for a C2spine curve the Frenet frame becomes

undeﬁned at an inﬂection point (i.e., curvature κ= 0), thus causing unacceptable discontinuity when used

for sweep surface modeling [Bloomenthal 1990].

A moving frame that does not rotate about the instantaneous tangent of the curve x(u) is called a

rotation minimizing frame of x(u), or RMF, for short. It can be shown that the RMF is deﬁned contin-

uously for any C1regular spine curve. Because of its minimal-twist property and stable behavior in the

presence of inﬂection points, the RMF is preferred to the Frenet frame in many applications in computer

graphics, including free-form deformation with curve constraints [Bechmann and Gerber 2003; Peng et al.

1997; Lazarus et al. 1993; Lazarus and Jancene 1994; Lazarus and Verroust 1994; Llamas et al. 2005], sweep

surface modeling [Bloomenthal and Riesenfeld 1991; Pottmann and Wagner 1998; Siltanen and Woodward

1992; Wang and Joe 1997], modeling of generalized cylinders and tree branches [Shani and Ballard 1984;

Bloomenthal 1985; Bronsvoort and Flok 1985; Semwal and Hallauer 1994], visualization of streamlines and

tubes [Banks and Singer 1995; Hanson and Ma 1995; Hanson 1998], simulation of ropes and strings [Barzel

1997], and motion design and control [J¨uttler 1999]. The RMF is also closely related to the problem of

designing stable motion of a moving camera tracking a moving target [Goemans and Overmars 2004], where

the rotation about the vector connecting the camera and the target should be minimized during camera

motion, subject to possible boundary conditions.

Discussions of the RMF and its applications can be found in the recent book by Hanson [Hanson 2005],

where the RMF is treated using a parallel transport approach.

A typical application of RMF in shape modeling is shown in Figure 1. Here a canonical snake surface

model is ﬁrst deﬁned along a straight line axis possessing an RMF generated by translation along the line.

Then a new axis curve (i.e., a spine curve) is designed to produce a novel pose of the snake. For comparison,

both Frenet frame and RMF of this same axis curve are shown in Figures 1(a) and 1(b). The RMF determines

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

4·Wenping Wang et al.

Fig. 3. Sweep surfaces showing moving frames of a deforming curve: the Frenet frames in the ﬁrst row and the RMF in the

second row.

a mapping from the space of the canonical model of the snake to the space around the new axis curve in

Figure 1(b); this mapping produces the snake in Figure 1(c). Note that the Frenet frame in this case exhibits

excessive rotation compared with the RMF, so it is less appropriate for shape modeling.

Next consider moving frames of a deforming spine curve x(u;t), as frequently encountered in computer

animation (see Figure 3). While the Frenet frame does not always experience abrupt twist for a given static

spine curve, the Frenet frame of the deforming spine curve often suddenly exhibits a radical twist at an

instant during deformation, especially when the spine curve has a nearly curvature vanishing point (i.e., an

inﬂection point). In contrast, the RMF of the deforming spine curve x(u;t) always varies smoothly and

stably over time as well as along the spine curve. The diﬀerent behaviors of these two moving frames are

illustrated in Figure 3, visualized as sweep surfaces, through a sequence of snapshots of a deforming spine

curve. Here by continuous deformation we mean that the rate of change in both position (i.e., ∂x(u;t)/∂t)

and unit tangent (i.e., ∂t(u;t)/∂t) are bounded for any (u, t) in their ﬁnite intervals of deﬁnition. Note that,

this assumption is reasonable in practical application but does not imply that the normal vector r(u)of

x(u;t) (see Eqn. (1)) changes continuously with respect to time t, thus explaining the potential instability

of the Frenet frame.

Computation of the RMF is more diﬃcult than that of the Frenet frame. The RMF is ﬁrst proposed

and formulated as the solution of an ordinary diﬀerential equation in [Bishop 1975] and later in [Shani

and Ballard 1984; Klok 1986]. Exact (i.e., closed form) RMF computation is either impossible or very

involved for a general spine curve. Hence, a number of approximation methods have been proposed for

RMF computation. These methods fall under three categories: 1) discrete approximation;2)spine curve

approximation;and3)numerical integration. The discrete approximation approach is versatile for various

applications in computer graphics and computer animation, even when only a sequence of points on a path

(i.e., spine curve) is available, while the approach based on spine curve approximation is useful for surface

modeling in CAGD applications. We will see that direct numerical integration of the deﬁning ODE of RMF

is relatively ineﬃcient and therefore not well suited for RMF computation. The new method we are going

to propose is based on discrete approximation.

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·5

1.2 Problem formulation

The RMF computation problem as solved by the discrete approximation approach is formulated as follows.

Let U(u) denote an exact RMF of a C1regular spine curve x(u)in3D,u∈[0,L], with the initial condition

U(0) = U0, which is some ﬁxed orthonormal frame at the initial point x(0). Suppose that a sequence of

points xi=x(ui) and the unit tangent vectors tiat xiare sampled on the curve x(u), with ui=i∗h,

i=0,1,...,n,whereh=L/n is called the step size. The goal of discrete approximation is to compute

a sequence of orthonormal frames Uiat xithat approximates the exact RMF frame U(u)atthesampled

points, i.e., each Uiis an approximation to U(ui), i=0,1,2...,n.

Error measurement is needed to evaluate and compare diﬀerent approximation schemes. Suppose that the

exact RMF U(u) has the same initial frame as the approximating frame sequence at x(u0), i.e., U(0) = U0.

Then the approximation error between U1and U(h) is called the one-step error. The approximation errors

at intermediate sampled points are normally accumulated to give a large error at the end of the spine curve.

However, due to error ﬂuctuation, the maximum error may not always occur at the endpoint x(L). Therefore,

we deﬁne the global error Egto be the maximum error of frame approximation over all the sampled points

x(ui), i.e.,

Eg=n

max

i=0 {|∠(Ui,U(ui))|},(2)

where |∠(Ui,U(ui))|measures the magnitude of the angle between the reference vectors riand r(ui)of

frames Uiand U(ui).

We shall present a new discrete approximation method, called double reﬂection method, for RMF com-

putation. The main idea is based on the observation that the rigid transformation between two consecutive

frames for RMF approximation can be realized by two reﬂections, each being a reﬂection in a plane. The

resulting method is simple, fast, and highly accurate – its global approximation error is of order O(h4),

where h=L/n is the step size. This compares favorably with the second order (i.e., O(h2)) approximation

error of two prevailing discrete approximation methods, i.e., the rotation method [Bloomenthal 1990] and

the projection method [Klok 1986]. The accuracy of the double reﬂection method matches that of using

the standard 4-th order Runge-Kutta method to integrate the deﬁning diﬀerential equation of RMF, but is

much simpler and faster than the latter.

In the following we shall ﬁrst review related works in Section 2 and present necessary preliminaries in

3. The double reﬂection method is presented and analyzed in Section 4. Then we present experimental

veriﬁcations in Section 5, discuss extensions in Section 6 and conclude the paper in Section 7.

Readers interested only in implementation may skip to Section 4.1 for a simple description of the double

reﬂection method; the pseudo code is given in Table I in Section 4.

2. RELATED WORK

2.1 Discrete approximation

In discrete approximation an RMF is approximated by a sequence of orthogonal frames located at sampled

points xion the spine curve x(u). The projection method, as originally proposed in [Klok 1986], computes

an approximate RMF for modeling a sweep surface. Suppose that the the sampled points xiand the unit

tangent vectors tiof x(u)atthesampledpointsxiare provided as input. For RMF computation, the

projection method projects, along the direction x1−x0, an initial reference vector r0in the normal plane of

the spine curve at x0to the next reference vector r1on the normal plane at x1. Then this step is repeated to

generate on the subsequent normal planes a sequence of reference vectors ri, which, together with the tangent

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

6·Wenping Wang et al.

vectors ti, deﬁne a sequence of orthonormal frames that approximate an exact RMF. The projection method

is empirically demonstrated to have the second order of approximation error [Chung and Wang 1996]. Note

that the above projection between normal planes is not length preserving. Therefore the reference vectors

rineed to be normalized to give unit vectors.

Another popular discrete approximation method is the rotation method [Bloomenthal 1990; Siltanen and

Woodward 1992; Poston et al. 1995]. The rotation method also needs as input the sampled points xion the

spine curve and the unit tangent vectors tiof the spine curve at xi. Consider the ﬁrst two sampled points

x0and x1. Given the initial frame U0at x0, suppose that we need to compute the next frame U1at x1

from the boundary data (x0,t0;x1,t1). To minimize the rotation about the tangent of the spine curve, this

method rotates U0into U1about an axis b0perpendicular to t0and t1,thatis,b0=t0×t1; the rotation

angle θis such that the frame vector t0of U0is brought into alignment with the frame vector t1of U1, i.e.,

θ= arccos(t0·t1). Here, for frame computation, we ignore the translational diﬀerence between the origins

of U0and U1. The rotation method has the second order global approximation error [Poston et al. 1995].

A major problem with the rotation method is its lack of robustness for nearly collinear data. When

the two consecutive tangent vectors t0and t1are collinear, the rotation axis becomes undeﬁned, since

b0=t0×t1= 0; but, since no rotation is needed in this case, we just need to set U1:= U0. However,

numerical problems will be experienced when t0and t1approach each other, i.e., becoming closer and closer

to being collinear; this happens, for example, when the spine curve is densely sampled for high accuracy

RMF computation. In this case some threshold value has to be used to avoid the degeneracy of the rotation

vector b0by treating nearly collinear data as collinear data. But if a spine curve is so densely sampled

that all consecutive data segments are deemed as collinear due to thresholding, then there will be a large

accumulated error in the computed RMF, because the spine curve will be treated as a straight line and all

the frames Uiwill be set to be identical to the initial frame U0. We note that this numerical problem for

nearly collinear data does not exist with the double reﬂection method we are going to propose.

2.2 Methods based on spine curve approximation

If a spine curve is ﬁrst approximated by some simple curves whose RMF can be computed exactly or more

accurately, then the RMF of this simple approximating curve can be taken as an approximation to the

RMF of the original spine curve. An intuitive argument for this idea is that if two spine curves are close

to each other, then their RMFs should also be. This type of intuition lacks rigorous justiﬁcation and could

be unreliable for moving frames deﬁned by diﬀerential properties; recall that the Frenet frames of two spine

curves close to each other can be radically diﬀerent. However, for RMF it is proved by Poston et al [Poston

et al. 1995] that the RMF of a spine curve ˜

x(u) approaches the RMF of another spine x(u) if and only if

the unit tangent vector ˜

t(u)of˜

x(u) approaches the unit tangent vector t(u)ofx(u).

Discrete approximation methods, such as the projection method or the rotation method, can be regarded

as the simplest methods based on spine curve approximation, using a polygon to approximate the spine

curve. A G1spline curve composed of circular arcs is used to approximate an input spine curve in [Wang

and Joe 1997] to compute an approximate RMF for modeling sweep surfaces in NURBS form. The spine

curve is approximated by PH curves using Hermite interpolation in [J¨uttler and M¨aurer 1999] for generating

sweep surfaces in rational representation. Exact description of the RMF of a PH curve and its rational

approximation are provided in [J¨uttler 1999; Farouki 2002; Farouki and Han 2003; Choi et al. 2004]. A

closely related technique is to approximate the rotation minimizing motions (RMM) by aﬃne motions (cf.

[Pottmann and Wagner 1998]) and rational motions from the point of view of spherical kinematics [J¨uttler

1998].

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·7

2.3 Numerical integration

Since the RMF is deﬁned by a vector-valued ODE of the type y=f(x,y) [Bishop 1975; Shani and Ballard

1984; Klok 1986; Pottmann and Wagner 1998], naturally one may consider computing the RMF using a

numerical method to directly solve this ODE. Suppose that the classical fourth order Runge-Kutta method

is used. Then the RMF thus computed has the 4-th order global approximation error, which is the same as

that of the double reﬂection method that we are to propose. However, this general approach to solving the

ODE does not take into account the special geometric property of the problem of RMF computation and

therefore has severe drawbacks.

Firstly, the Runge-Kutta method requires the spine curve x(u)tobeC2, since the right hand side f

of the ODE is a function of the second derivative of x(u) (cf. Eqn. (6) in Section 3). This requirement is

unnecessarily restrictive, since the RMF is continuously deﬁned for any C1spine curve. Secondly, deriving

and evaluating the second derivative of x(u) can be tedious and costly, rendering the method ineﬃcient. In

the RMF computation problem under consideration, only the sampled points xiand the tangent vectors ti

are available as input. But both ﬁrst and second derivatives of the spine x(u) are required by the Runge-

Kutta method. This mismatch between the input data of the RMF computation problem and the data it

requires makes the Runge-Kutta method not well suited for RMF computation.

Another problem is that the Runge-Kutta method does not strictly enforce the orthogonality between

the solved reference vectors riand the tangent vectors ti, even though in the initial conditions r0=r(0) is

orthogonal to t0=t(0). Therefore each rihas to be projected onto the normal plane of the spine curve to

make it perpendicular to ti; this adds further to the cost of the method.

Another method is based on the observation that the RMF and the Frenet frame diﬀer by a rotation

determined by the torsion in the normal plane of the spine curve. Let θ(u) be the angle of this rotation. Let

τ(u) be the torsion of the spine curve x(u). Then θ(u) is given by [Guggenheimer 1989]

θ(u)=−u

u0

τ(v)x(v)dv. (3)

With this formula, θ(u) may be computed with some quadrature rule and used to compute the RMF by

compensating the rotation of the Frenet frame. However, at inﬂection points of a spine curve, the Frenet

frame itself becomes discontinuous and exhibits abrupt change, and the torsion τ(u) becomes ill-deﬁned (i.e.,

unbounded), making it diﬃcult to evaluate the integration (3) accurately; therefore in this case the method

becomes unstable.

3. PRELIMINARIES

3.1 Deﬁnition by diﬀerential equations

First we introduce the rotation minimizing frame under weak assumptions on a spine curve, using diﬀerential

equations. These results will later be connected to the classical results from diﬀerential geometry. Generally,

we assume the spine curve x(u)tobeaC1regular curve, i.e., x(u)= 0 in its domain of deﬁnition, but

higher diﬀerentiability is needed for analysis of approximation orders. Again we use t(u)=x(u)/||x(u)||

to denote the unit tangent vector.

Consider a one-parameter family of unit vectors f(u) perpendicular to the tangent vector t(u). Such

a vector function f(u) is said to exhibit the minimal rotation, and therefore called a rotation minimizing

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

8·Wenping Wang et al.

vector, if it is a solution to the following system of diﬀerential–algebraic equations (DAE)

f(u)−φ(u)t(u)=0

f(u)·t(u)=0

(4)

for the functions f(u)=(f1(u),f

2(u),f

3(u))and some function φ(u). Here the ﬁrst equation (in vector

form) constrains the evolution of f(u) to be parallel to the tangent, and the second equation serves to preserve

orthogonality.

A rotation minimizing vector f(u) is not necessarily diﬀerentiable for a C1spine curve x(u); (e.g., consider

the case of a C1curve composed of a circular arc and a straight line segment). In view of this, one may

adopt the following weak form of the DAE (4)

f(u)−u

0

φ(v)t(v)dv=0

f(u)·t(u)=0

⎫

⎬

⎭

(5)

which does not involve any derivative of f(u).

If the spine curve is of the C2class, then the above DAE is equivalent to the ODE

f(u)=[t(u)×t(u)] ×f(u)(6)

since

φt=(f·t)t=(−f·t)t=[t(u)×t(u)] ×f(u)(7)

A rotation minimizing frame (RMF) is determined by a rotation minimizing vector. Speciﬁcally, we have

Deﬁnition 1: [Rotation minimizing frame] Given a C1curve x(u)⊂E3,u∈[0,L], a moving orthonormal

frame U(u)=(r(u),s(u),t(u)),wherer(u)×s(u)=t(u),iscalledarotation minimizing frame (RMF) of

x(u)if t(u)=x(u)/||x(u)|| and r(u)is a solution of Eqn. (5) (or Eqn.(4) if x(u)is C2) for some initial

condition U(0) = U0.Herer(u)is called the reference vector of the RMF U(u).

Since the frame vector t(u)ofU(u) is always constrained to be the unit tangent vector of x(u), U(u)

is uniquely determined by its reference vector r(u), which is a rotation minimizing vector. The third frame

vector is given by s(u)=t(u)×r(u).

The evolution deﬁned by DAE (4) preserves the inner product of two vectors. Indeed, if vectors f(u)

and g(u) both satisfy Eqn.(4) with associated functions φ(u)andψ(u), then

d

dt(f·g)=f·g+f·g=(φt)·g+f·(ψt)=0 (8)

Hence, the inner product (f·g) is a constant. From this we have the following observations:

Corollary 3.1. If two vectors f1(u)and f2(u)satisfy Eqn. (4) and the three vectors f1(0),f2(0) and

t(0) form a right–handed orthonormal frame, then f1(u),f2(u)and t(u)deﬁne an RMF of the spine curve

x(u).

Corollary 3.2. Suppose that r(u)is a rotation minimizing vector of a spine curve x(u).Thenanother

normal vector ˜

r(u)of x(u)is a rotation minimizing vector of x(u)if and only if ˜

r(u)keeps a constant angle

with r(u).

Or, equivalently,

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·9

Corollary 3.3. Suppose that U(u)=(r(u),s(u),t(u)) is also an RMF of a spine curve x(u).Then

another right-handed orthonormal moving frame ˜

U(u)=(

˜

r(u),˜

s(u),t(u)) of x(u)is an RMF of x(u)if and

only if ˜

U(u)keeps a constant angle with U(u).

Finally, we note that the RMF is determined only by the geometry of a spine curve and independent of

any particular parameterization x(u) of the curve.

3.2 Some diﬀerential geometry

In this subsection we shall use the arc-length parameterization x(s) of the spine curve. Using the Frenet

formulas one may express (6) as

f(s)=κ(s)b(s)×f(s),(9)

where κ(s)andb(s) are the curvature and the binormal vector of x(s). The vector

ωRMF(s)=κ(s)b(s) (10)

is the angular velocity of the RMF.

The angular velocity of the Frenet frame is the so–called Darboux vector [Kreyszig 1991]

ωFrenet(s)=κ(s)b(s)+τ(s)t(s) (11)

This shows that, compared to the RMF, the Frenet frame involves an additional rotation around the tangent,

whose speed equals the torsion τ. This observation explains the integral formula (3) for computing the RMF

by correcting the “unwanted” rotation of the Frenet frame. The Frenet frame coincides with the RMF for

planar curves, for which τ≡0.

The RMF is also closely related to developable surfaces and principal curvature lines of a surface.

Suppose that U(u)=(r(u),s(u),t(u)) is an RMF of a curve x(u). Then the surface D(u, v)=x(u)+vr(u)

is developable. Let g(u) be the edge of regression of the developable surface D(u, v). Then the spine curve

is an involute of the curve g(u). This observation suggests a natural (but restrictive) way of modeling a

developable ribbon surface along a spine curve using the RMF.

Suppose that x(u) is a principal curvature line of a surface S. Then the consistent unit normal vector

of Salong the curve x(u) is a rotation minimizing vector of x(u), thus determining an RMF of x(u). This

follows from the well known fact that the normals of Salong x(u) form developable surface if and only if

x(u) is a principal curvature line of S. It therefore also follows that the spine curve x(u) is a principal

curvature line of the developable D(u, v) deﬁned in the last paragraph.

Another important property of the RMF is that it is preserved by conformal transformation of E3,which

is a fact that we will formally prove in a forthcoming paper. This means that, given a spine curve x(u)⊂E3

and a conformal mapping Cof E3,theRMFofx(u)ismappedbyCto the RMF of the transformed spine

curve C(x(u)). In other words, the operation of computing RMF of a curve and a conformal transformation

commute. This property will be needed later in the analysis of the approximation order of our new method

for computing the RMF.

Note that the group of conformal mappings in 3D is exactly the group generated by translations, rota-

tions, uniform scalings and sphere inversions (reﬂections with respect to spheres). Since a straight line is

mapped to a circle by a sphere inversion, in the above the transform of a unit vector vin RMF is understood

to be the unit tangent vector of the circle which is the image of the straight line associated with v.

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

10 ·Wenping Wang et al.

4. DOUBLE REFLECTION METHOD

In this section we shall ﬁrst give an outline of the double reﬂection method, and, through a study of the

RMF of a spherical curve, explain why the method works well. Then we shall give a procedural description

of the method that has an optimized number of arithmetic operations, and ﬁnally present an analysis of the

approximation order of the method. The double reﬂection method is straightforward and can very easily be

described; however, its justiﬁcation takes interesting geometric arguments that do not appear to be trivial.

4.1 Outline of method

Given boundary data (x0,t0;x1,t1) and an initial right-handed orthonormal frame U0=(r0,s0,t0)atx0,

the next frame U1=(r1,s1,t1)atx1for RMF approximation is computed by the double reﬂection method

in the following two steps.

Step 1 :LetR1denote the reﬂection in the bisecting plane of the points x0and x1(see Figure 4). Use R1

to map U0to a left-handed orthonormal frame UL

0=(rL

0,sL

0,tL

0).

Step 2 :LetR2denote the reﬂection in the bisecting plane of the points x1+tL

0and x1+t1(see Figure 5).

Use R2to map UL

0to a right-handed orthonormal frame U1=(r1,s1,t1). Output U1.

An eﬃcient implementation of the above steps is given by the pseudo code in Table I.

r0

t0

x0

rL

0

tL

0x1

R1

Fig. 4. The ﬁrst reﬂection R1of the double reﬂection

method.

r0

t0

x0

rL

0

tL

0x1

r1

t1

R2

Fig. 5. The second reﬂection R2of the double reﬂection

method.

4.2 Geometric interpretation

The reasons why the double reﬂection method described above computes an accurate approximation of an

RMF are the following: 1) the double reﬂection method is designed to produce an exact RMF when the

spine curve is a spherical curve; and 2) any spine curve x(u) with boundary data (x0,t0;x1,t1)canwell

be approximated by a spherical curve ˆ

x(u) interpolating the same boundary data. Therefore the double

reﬂection method should compute an accurate approximation of the exact RMF of an arbitrary spine curve.

Furthermore, we note that any two consecutive frames in a sequence of approximate RMF are related to

each other by a rigid motion. Since, as well known, a rigid motion can be realized by the composition of two

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·11

reﬂections in a plane, we seek these two simple reﬂections in our implementation to realize the desired rigid

motion. This explains the eﬃciency of the double reﬂection method.

In the remaining of this section we shall provide a geometric argument about the intuition and mechanism

behind the double reﬂection method and discuss its properties. First consider the RMF of a spherical curve.

The next lemma indicates that there is a simple explicit characterization of the RMF of a spherical curve.

(We will treat a planar curve as a special case of a spherical curve where the radius is inﬁnite.)

Lemma 4.1. Let x(u),u∈[0,h],beacurvesegmentlyingonasphereSor a plane P(see Figure 6).

Let n(u)be the outward unit normal vector of the sphere Salong the curve x(u)or a unit (constant) normal

vector of the plane P.ThenanRMFofx(u)is given by ¯

U1=(

¯

r,¯

s,t1),where

¯

r(u)=n(u)and¯

s(u)=t(u)×n(u).(12)

Proof. Suppose that x(u) is on a sphere. Without loss of generality, suppose that the sphere Sis centered

at the origin and has radius r. It is clear that r(u)=n(u), s(u)=t(u)×n(u)andt(u) form a right-handed

orthonormal moving frame. Since n(u)=1

rx(u), r=n=1

rx, which is parallel to t(u). Therefore, r

satisﬁes Eqn. (4), i.e., it is a rotational minimizing vector. Hence, by Deﬁnition 1, U(u)=(r,s,t)isan

RMF of x(u).

The proof is similar when x(u) is a plane curve. .

Lemma 4.1 suggests that, given the initial frame U0at x0,theRMFU1of a spherical curve x(u)at

the point x1does not depend on the in-between shape of x(u), but depends only on the boundary data

(x0,t0;x1,t1). This will be referred to as the path independence property, as stated below.

Lemma 4.2. [Path independence property] 1Let x(u)and y(v)be two curve segments, u∈[0,h

1]and

v∈[0,h

2], on a sphere (or a plane) sharing the same boundary data (x0,t0;x1,t1).LetU(u)and V(v)

denote the RMFs of x(u)and y(v), having the same initial frame U0, i.e., U(0) = V(0) = U0.Then

U(h1)=V(h2).

Proof. We will only consider the case of x(u)andy(u) being on a sphere S; the case of their being

on a plane can be proved in a similar way. First suppose that the initial frame U0is the special frame

¯

U0=(

¯

r0,¯

s0,t0)where¯

r0is the unit outward normal vector of the sphere Sat x0and ¯

s0=t0×¯

r0. Then,

by Lemma 4.1, the RMFs ¯

U1and ¯

V1of x(u)andy(u)atx1are the same, i.e., ¯

U1=¯

V1=(

¯

r1,¯

s1,t1), where

¯

r1is the unit outward normal vector n1of the sphere Sat x1and ¯

s1=t1×¯

r1.

Now suppose that the initial frame U0=(r0,s0,t0) is arbitrary. Let α0be the angle between U0and

¯

U0. Then, by Corollary 3.3, U(h1)and ¯

U1,astwoRMFsofx(u) at the endpoint x1, keep the same angle

α0. Similarly, the angle between the V(h2)and ¯

V1,astwoRMFsofy(v) at the endpoint x1,isalsoα0.It

follows that U(h1)=V(h2), since ¯

U1=¯

V1..

Next we show that the double reﬂection method yields the exact RMF for a spherical curve.

Theorem 4.3. Let x(u)be a curve segment, u∈[0,h], on a sphere or a plane with boundary data

(x0,t0;x1,t1).LetU(u)be an RMF of x(u).LetU0=U(0) and U1=U(h). Then, given boundary data

(x0,t0;x1,t1)and the initial frame U0, the double reﬂection method produces the frame U1.

Proof. Again we will only consider the case of the curve x(u) being on a sphere S; the case of a plane

can be proved similarly. First consider the special case of U0=¯

U0=(

¯

r0,¯

s0,t0), as deﬁned in the proof of

1This property is equivalent to the fact that the integral b

aτ(s)dsvanishes for closed spherical curves [Kreyszig 1991].

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

12 ·Wenping Wang et al.

r

s

t

Fig. 6. An RMF of a spherical curve.

x0

x(u)

x1

ˆ

x(u)

Fig. 7. Spherical pro jection of a curve segment.

Lemma 4.2. Then, by Lemma 4.1, U1=¯

U1=(

¯

r1,¯

s1,t1). Here, ¯

r0and ¯

r1are unit outward normal vectors

of the sphere Sat x0and x1, respectively. Recall that in the double reﬂection method (cf. Section 4.1) the

ﬁrst reﬂection R1is in the bisecting plane (denoted as H1)ofx0and x1,andR1maps ¯

U0to a left-handed

frame ¯

UL

0=(

¯

rL

0,¯

sL

0,tL

0). Because the two normals ¯

r0and ¯

r1of Sat x0and x1are symmetric about the

plane H1,wehave¯

rL

0=¯

r1.

Let H2denote the bisecting plane of the two points x1+tL

0and x1+t1. Clearly, ¯

rL

0(or ¯

r1)iscontained

in H2. Since the second reﬂection R2of the double reﬂection method is in the plane H2, it preserves ¯

rL

0=¯

r1.

Furthermore, by its construction, R2maps tL

0to t1. Therefore, R2maps ¯

UL

0to ¯

U1=(

¯

r1,¯

s1,t1). Hence,

the theorem holds in the special case of U0=¯

U0.

Now consider an arbitrary initial frame U0=(r0,s0,t0). Let α0denote the angle between U0and ¯

U0.

Let Rdenote the composition of R1and R2, i.e., the total rotation eﬀected by the double reﬂection method.

Clearly, Rmaps U0to a right-handed orthonormal frame ˆ

U1=(

ˆ

r1,ˆ

s1,ˆ

t1) such that ˆ

t1=t1. Therefore,

ˆ

U1and ¯

U1diﬀer by a rotation in the normal plane of x(u)atx1. Furthermore, since the rotation Ris

angle-preserving, the angle between ˆ

U1and ¯

U1is also α0,sinceRmaps ¯

U0to ¯

U1,andU0to ˆ

U1.Onthe

other hand, by Corollary 3.3, the angle between U1=U(h)and ¯

U1is also α0. It follows that ˆ

U1=U1, i.e.,

the exact RMF U1of the curve x(u)atx1is generated by the double reﬂection method. .

Not only the RMF of a spherical or plane curve x(u) is computed exactly by the double reﬂection method,

but also this computation does not make use of the sphere or the plane containing x(u). That is possible

because of the path independence property of the RMF of a spherical curve (cf. Lemma 4.2). Note that

when the curve segment x(u)isC1regular and parameterizes a line segment, since x(u) is a plane curve,

its RMF is computed exactly by the double reﬂection method, with no need of threshold as in the rotation

method to avoid numerical instability (see Section 2.1).

Now consider applying the double reﬂection method to computing the RMF of a general spine curve

x(u)⊂E3,u∈[0,h], which has boundary data (x0,t0;x1,t1) and is not necessarily spherical or planar. In

general, there is a unique sphere Ssuch that x0and x1are on Sand t0and t1are tangent to Sat x0and x1.

Let ˆ

x(u) denote the projection of the curve x(u) onto the sphere Sthrough the center of S(see Figure 7).

Then it is easy to see that the curve ˆ

x(u) shares the same boundary data (x0,t0;x1,t1)withx(u), so it

follows from the basic results of Hermite curve interpolation that the approximation error x(u)−ˆ

x(u)

between x(u) and its spherical projection ˆ

x(u) is of the order O(h4). Since x(u) is well approximated by

ˆ

x(u) and the double reﬂection method computes an exact RMF of the spherical curve ˆ

x(u), it is reasonable

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·13

to expect that the double reﬂection method computes an accurate approximation to the RMF of the original

spine curve x(u).

Note that the above argument does not constitute a formal analysis of the approximation accuracy of the

double reﬂection method; it merely provides a geometric and intuitive understanding of why the method is

expected to work well for RMF computation. It will be proved in Section 4.7 that the global approximation

error of the double reﬂection method has the order O(h4).

4.3 Procedural description

The description of the double reﬂection method in Section 4.1, though simple in geometric terms, is not

for eﬃcient implementation. In this section we will give a procedural description of the method, aiming at

minimizing the number of arithmetic operations required.

Since only transformation of vectors matters in RMF computation, we may just use the linear parts,

denoted by matrices R1and R2, of the two reﬂections R1and R2.SinceR1is a reﬂection in a plane with

normal vector v1≡x1−x0,itcanbeshownthatitslinearpartis

R1=I−2(v1vT

1)/(vT

1v1),(13)

where Iis the 3 ×3 identity matrix. We will call v1the reﬂection vector of R1. (Note that R1is none other

than the Householder transform used for QR matrix decomposition.)

The reﬂection R2has the reﬂection vector v2≡(x1+t1)−(x1+tL

0)=t1−tL

0,wheretL

0=R1t0.So

its linear part is

R2=I−2(v2vT

2)/(vT

2v2).(14)

Let r0be the reference vector of U0.Thenr1=R2R1r0is the reference vector r1of the next frame U1.

With the known tangent vector t1, the remaining vector s1of U1=(r1,s1,t1)isgivenbys1=t1×r1.

The procedure of the double reﬂection method is given in Table I. For a given sequence of sampled points

xiand associated unit tangent vectors ti,withaninitialframeU0deﬁned at x0, one just needs to apply the

two reﬂections R1and R2to successively generate the approximate RMF Uiat xi. Ineachstep,fromthe

current frame Ui, we form the ﬁrst reﬂection R1following Eqn.( 13) and use R1to map the reference vector

rito rL

i, and also the tangent vector tito tL

i.ThenweusetL

iand ti+1 to form the second reﬂection R2

following Eqn. (14) and use R2to map rL

ito the reference vector ri+1 of the next frame Ui+1.

4.4 Degeneracy, stability and symmetry

By degeneracy we mean that either of the reﬂections R1and R2becomes undeﬁned. Clearly, R1is undeﬁned

if and only if x1−x0=0,andR2is undeﬁned if and only if x1+tL

0=x1+t1, i.e., the two points x0+t0and

x1+t1are symmetric about the bisecting plane of x0and x1;thisisequivalentto(x1−x0)·(t1+t0)=0

and (x1−x0)×(t1−t0) = 0. Hence, for proper application of the double reﬂection method, we need to

ensure that the following two conditions are satisﬁed: (1) x1−x0=0;and(2)(x1−x0)·(t1+t0)=0or

(x1−x0)×(t1−t0)= 0. Both conditions are simple to test and can easily be satisﬁed provided that the

spine curve is suﬃciently subdivided or sampled.

It has been commented earlier (cf. Section 2.1) that the rotation method suﬀers from numerically

instability when the vectors t0and t1are collinear or nearly so. Now we examine the stability of the double

reﬂection method for the same kind of local data (x0,t0;x1,t1) , i.e., when v1=x1−x0,t0and t1are

collinear or nearly so. Two reﬂections are used in the double reﬂection method. The ﬁrst reﬂection R1uses

v1=x1−x0as the reﬂection vector, thus R1is numerically stable because v1canbeassumedtobea

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

14 ·Wenping Wang et al.

Tab l e I . Algorithm — Double Reﬂection

Input: Points xiand associated unit tangent vectors ti,i=0,1,...,n.

An initial frame U0=(r0,s0,t0).

Output: Ui=(ri,si,ti), i=0,1,2,...,n, as approximate RMF.

Begin

for i=0 to n−1do

Begin

1) v1:= xi+1 −xi; /*compute reflection vector of R1.*/

2) c1:= v1·v1;

3) rL

i:= ri−(2/c1)∗(v1·ri)∗v1; /*compute rL

i=R1ri.*/

4) tL

i:= ti−(2/c1)∗(v1·ti)∗v1; /*compute tL

i=R1ti.*/

5) v2:= ti+1 −tL

i; /*compute reflection vector of R2.*/

6) c2:= v2·v2;

7) ri+1 := rL

i−(2/c2)∗(v2·rL

i)∗v2; /*compute ri+1 =R2rL

i.*/

8) si+1 := ti+1 ×ri+1; /*compute vector si+1 of Ui+1.*/

9) Ui+1 := (ri+1,si+1,ti+1 );

End

End

nonzero vector, and this stability has nothing to do with whether v1is collinear with t0(or t1)ornot. The

second reﬂection R2uses the reﬂection vector v2=t1−tL

0,wheretL

0is the image of t0under R1. Hence,

when t0and t1become collinear or nearly so, v2 would approach to t1+t0≈2t1,sincetL

0approaches to

−t1in this case. Hence, v2 well be deﬁned, which ensure the numerical stability of the second reﬂection R2.

Clearly, the above argument for the stability of the double refection method applies also when the spine

curve is speciﬁed only by a sequence of sample points {xi}n

i=0 (see Section 6.1. In this case the tangent

vectors tihave to be estimated from the points xi, and nearly collinear data would results if the points xi

are densely sampled. As a consequence of its stability in the presence of nearly collinear data, the double

reﬂection method is free of the threshold problem which plagued the rotation method (cf. Section 2.1).

Hence, the double reﬂection method produces the RMF exactly (or accurately) in a numerically stable

manner even for a sequence of points on a spine curve which is a straight line (or nearly a straight line),

using the same uniﬁed procedure, i.e., free of threshold testing.

Finally, we note that the double reﬂection method is symmetric in the following sense. Given a sequence

of sampled points xi,i=0,1,...,n,onaspinecurvex(u), suppose that the Uiare the frames computed by

the double reﬂection method applied to x(u)withU0as the initial frame. Then the same sequence of frames

in the reversed order, i.e., Un−i,i=0,1,...,n, will be generated by applying the double reﬂection method

starting from xn,usingUnas the initial frame. This symmetry property can be proved by examining the

basic steps of the double reﬂection method, but we will skip the proof. The projection method and the

rotation method also possess this symmetry property, while the Runge–Kutta method does not.

4.5 Axis-angle representation

It is instructive to derive the axis-angle representation of the rigid motion Rthat relates any two consecutive

orthonormal frames produced by the double reﬂection method. Using the notation in 4.3, the two reﬂection

vectors used in the double reﬂection method are v1=x1−x0and v2=t1−tL

0. Denote their normalized

vectors by ¯

v1=v1/v1and ¯

v2=v2/v2. Based on elementary geometric argument, it is easy to see that

the rotation axis vector of Ris v=¯

v1×¯

v2and the rotation angle is α=2arcsin(¯

v).

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·15

Substituting in the expression tL

0=R1t0,whereR1is given by Eqn. (13), it is straightforward to derive

the axis vector

v=γ(x1−x0)×(t1−t0),

where γ−1=x1−x02t1−x12+[(x1−x0)Tt0][(x1−x0)Tt1]. Clearly, vapproaches to zero if the vectors

x1−x0,t0and t1become nearly collinear. Therefore, regardless of its eﬃciency, if this axis-angle reﬂection

is used to compute the RMF for nearly collinear data, it will experience numerical instability and thus need

threshold testing, as in the case of the rotation method (see Section 2.1). In contrast, the double reﬂection

method avoids this instability elegantly by computing the same rigid motion using two reﬂections in a plane.

Hence, we conclude that the stability issue in the presence of collinear data is not inherent to the problem

of RMF computation; rather, it is due to a particular algorithm for solving the problem.

4.6 Invariance under conformal mappings

We have seen that conformal mappings in 3D preserve the RMF of a space curve (cf. Section 3.2). It turns

out that the approximate RMF computed with the double reﬂection method is also preserved by conformal

mappings, in the following sense. Suppose that the sampled points xiof a spine curve x(u)areusedto

compute the approximate RMF Uiof x(u). Then the images of Uiunder a conformal mapping Care the

same as the approximate RMF of the curve C(x(u)) that are computed by the double reﬂection method

using the sampled points C(xi).

This property follows easily from the fact that the basic step of the double reﬂection method is performed

on the sphere Sitouching the two ends of the data (xi,ti;xi+1,ti+1 ) and this sphere is preserved by any

conformal mapping C(which is the composition of a sequence of sphere inversions), i.e., the image C(Si)is

the sphere touching the transformed data (C(xi),C(ti); C(xi+1),C(ti+1)).

Since both exact RMF and approximate RMF computed with the double reﬂection method are preserved

by conformal mappings, and the conformal mapping is angle preserving, we conclude that the approximation

error of the double reﬂection method is invariant under conformal mappings.

The double reﬂection method is an ideal method from the viewpoint of discrete diﬀerential geometry.

Because the exact RMF of a smooth curve is preserved by conformal mappings, we naturally expect that a

good method acting on a discretization of the curve for computing its approximate RMF is invariant under

the same group of transformations. The double reﬂection method indeed satisﬁes this property. We note

that the projection method, the rotation method and the Runge–Kutta method do not possess this property.

4.7 Order of approximation

First consider an analytic curve segment with the arc length parameterization x(s), s∈[0,h], of length h.

Suppose that the initial frame U(0) = U0≡(r0,s0,y0)ofanRMFU(s)ofx(s) is given. We approximate

the frame U(h)atx1=x(h)bytheframeU1computed with the the double reﬂection method.

Theorem 4.4. The one-step error U(h)−U1in RMF computation introduced by the double reﬂection

method has the order of O(h5).Speciﬁcally,

r(h)−r1=1

720 Kh5+O(h6).(15)

Here K=2κ12τ0+κ02τ03+κ1κ0τ1−κ2κ0τ0is a bounded constant for a smooth curve, where κi=

(d/ds)iκ(s)|s=0,τi=(d/ds)iτ(s)|s=0 are the curvature, torsion and their respective derivatives at s=0.

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

16 ·Wenping Wang et al.

The proof of Theorem 4.4 is given in Appendix I. The constant Kin Eqn.(15) has an interesting geometric

interpretation. A spherical curve x(s) is characterized by the diﬀerential equation [Kreyszig 1991]

τ

κ−d

dsκ

κ2τ=0.

It is easy to verify that the numerator of this equation is

K(s)=2κ1(s)2τ0(s)+κ0(s)2τ0(s)3+κ1(s)κ0(s)τ1(s)−κ2(s)κ0(s)τ0(s).

Therefore, K(s) = 0 if and only if x(s) is a spherical curve. Hence, intuitively speaking, K=K(0) measures

how close x(s) is to a spherical curve at s=0.

As an obvious corollary of Theorem 4.4, we have the next theorem that the RMF computation by the

double reﬂection method applied to a general regularly parameterized spine curve has the fourth order global

approximation error.

Theorem 4.5. Given a regularly parametrized spine curve x(u),u∈[0,M],letxi=x(ui),i=0,1,...,n,

be point s sampled on x(u)with equally spaced paramet er values, i.e., ui=i∗hand h=M/n. Then the global

error of the approximate RMF of x(u)computed by the double reﬂection method applied to the sequence {xi}

has the order O(h4).

5. COMPARISON AND EXPERIMENTS

We ﬁrst give the numbers of operations used in the three methods (i.e., double reﬂection, projection, and

rotation) for computing RMF in order to compare the eﬃciency of these methods. To save space, the

detailed counting is referred to our technical report [Wang et al. 2007]. The double reﬂection method can

be implemented such that the per frame computation of the double reﬂection method costs 28 additions, 32

multiplications and 2 divisions. For the projection method [Klok 1986], the per frame computation needs 5

additions, 21 multiplications, 2 divisions and 1 square root to compute a new frame; considering the cost of

the square root, this is less than, but comparable to, the cost of the double reﬂection method.

A procedure of the rotation method is given in [Poston et al. 1995]. Given the two consecutive unit

tangent vectors t0and t1, the rotation axis is computed as (a, b, c)=t0×t1and the cosine of rotation angle

is cos α=t0·t1. Then the rotation matrix is given by

R=⎡

⎣

cos α−cb

ccos α−a

−bacos α

⎤

⎦+1−cos α

a2+b2+c2⎡

⎣

a2ab ac

ab b2bc

ac bc c2⎤

⎦.

From here it is easy to see that the per frame computation of the rotation method can be implemented with

26 additions, 36 multiplications and 1 division.

The number of operations for the three methods are summarized in Table II. The three methods have

similar computational costs, as our tests show that a sqrt or a division is about six times more time consuming

than a multiplication; this makes sense because square root and division are approximated by a truncated

series in arithmetic hardware. The actual timing comparison will be given in the next subsection.

Another procedure of the rotation method is given in [Bloomenthal 1990], which uses 19 mults and a

square root to compute the rotation matrix Rafter using 6 mults to get the rotation axis t0×t1. Hence, that

version of the rotation method requires in total 40 multiplications and one square root to compute a new

frame, assuming that the tiare unit tangent vectors. In the subsequent experimental comparisons involving

the rotation method we will refer to the faster implementation in [Poston et al. 1995].

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·17

Method #ofadds #ofmults #ofdivs #ofsqrt

Projection 15 21 2 1

Rotation 26 36 1 0

Double reﬂection 28 32 2 0

Table II. The operations counts of the three methods.

Fig. 8. Timings of the double reﬂection method, the pro-

jection method and the rotation method.

Fig. 9. Timings of Runge-Kutta method and the double

reﬂection method.

Two examples will be used to compare the double reﬂection method with the following existing methods:

the projection method, the rotation method and the 4-th order Runge-Kutta method, in terms of eﬃciency

and accuracy. All test cases were run on a PC with Intel Xeon 2.66 GHz CPU and 2.00 GB RAM.

Example 1: In the ﬁrst example we use the four methods to compute the RMF of the spine curve,

whichisatorusknot,givenby

x(u)=[(0.6+0.3cos(7u)) cos(2u),(0.6+0.3cos(7u)) sin(2u),0.3sin(7u)]T,u∈[0,L] (16)

We compute the RMF using diﬀerent step sizes h=0.01 ∗2−k,k=0,1,...;thatis,foreachﬁxedstepsize

h,thesampledpointsarex(i∗h), i=0,1,...,L/h.

The timings of computing the sequence of frames by the four methods are shown in Figures 8 and 9.

We see that the projection method, the rotation method and the double reﬂection method have similar time

costs. The Runge-Kutta method costs much more time than the double reﬂection method, since it needs

more function evaluations in each step than the other three methods.

To observe approximation errors, we need an exact RMF of the spine curve or an approximate RMF of

very high accuracy against which the computed approximate RMF by the four methods can be compared.

Since the exact RMF of the torus knot given by Eqn.(16) is diﬃcult to obtain, we use the integration function

provided in Maple to get an approximate RMF of x(u) whose approximation error is known to be less than

10−16. This highly accurate RMF is used in place of an exact RMF to measure the global approximation

error Egdeﬁned in (2).

The global approximation errors ekof the four methods are shown in Figure 10 and also in Tables III

and IV, where ekis the error of using 2ksegments, k=6,7,...,11. These data conﬁrm that the projection

method and the rotation method have the second order of global approximation error O(h2), and the Runge-

Kutta method and the double reﬂection method have the fourth order of global approximation error O(h4).

Example 2: In the second example we use the double reﬂection method to approximate the RMF of a PH

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

18 ·Wenping Wang et al.

Fig. 10. Global errors of the four methods for the torus

knot in Example 1.

Fig. 11. Global errors of the four methods for the PH

curve in Example 2.

Double reﬂection Runge-Kutta

#ofsegments error ek,ratioek/ek−1error ek,ratioek/ek−1

265.10E−3, N.A. 3.58E−2, N.A.

273.24E−4, 0.063577 2.32E−3, 0.064846

282.03E−5, 0.062776 1.46E−4, 0.062737

291.27E−6, 0.062571 9.10E−6, 0.062408

210 7.95E−8, 0.062578 5.68E−7, 0.062422

211 4.97E−9, 0.062575 3.55E−8, 0.062438

Table III. Global approximation errors ekof the double reﬂection method and by using the 4-th order Runge-Kutta method

for the torus knot in Example 1. The error ratios ek/ek−1show that the approximation orders of these two methods are both

O(h4).

Projection method Rotation method

#ofsegments error ek,ratioek/ek−1error ek,ratioek/ek−1

261.56E−1, N.A. 2.60E−1, N.A.

279.03E−2, 0.579295 1.91E−1, 0.736606

282.26E−2, 0.249757 4.76E−2, 0.248776

295.64E−3, 0.249939 1.19E−2, 0.249668

210 1.41E−3, 0.249983 2.97E−3, 0.249906

211 3.52E−4, 0.249995 7.42E−4, 0.249971

Table IV. Global approximation errors ekof the projection method and the rotation method for the torus knot in Example 1.

The error ratios ek/ek−1show that the approximation orders of these two methods are both O(h2).

(Pythagorean-hodograph) curve, whose RMF can be computed exactly by a closed-form formula [Farouki

2002]. Given two points x0= (1000,0,0)Tand x1= (1000,2000,4000)Twith associated un-normalized

tangent vectors ˆ

t0=(1,5,−1)T,ˆ

t1=(−3,2,5)T, we obtain a cubic PH curve x(u) as the spine curve using

G1Hermite interpolation, following [J¨uttler and M¨aurer 1999]. Let the Frenet frame of x(u)atu=0bethe

initial frame U0. Compared with the exact RMF of x(u) at the endpoint x1=x(1), we obtain the errors

of the approximate RMF computed by the four methods. These errors are shown in Figure 11. The errors

of the double reﬂection method and the rotation method are also given in Table V and their color coded

surface representations in Figure 12. These data conﬁrm again the fourth order approximation error O(h4)

of the double reﬂection method.

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·19

Double reﬂection Rotation method

#ofsegments error ek,ratioek/ek−1error ek,ratioek/ek−1

269.29E−9, N.A. 1.78E−4, N.A.

275.94E−10, 0.063919 4.47E−5, 0.250721

283.75E−11, 0.063181 1.12E−5, 0.250321

292.36E−12, 0.062926 2.80E−6, 0.250151

210 1.48E−13, 0.062789 7.00E−7, 0.250073

211 9.25E−15, 0.062521 1.75E−7, 0.250036

Table V. Global approximation errors ekof the double reﬂection method and the rotation method for the PH curve. The error

ratios ek/ek−1conﬁrm again the O(h4) global error of the double reﬂection method and the O(h2) global error of the rotation

method.

(a) Double reﬂection method. (b) Rotation method. (c) Frames computed by double reﬂection.

(d) Error coding bar

Fig. 12. The color coded sweep surfaces showing the errors of the double reﬂection method and the rotation method for the

PH curve in Example 2, with 256 segments.

6. EXTENSIONS

6.1 Spine curve deﬁned by a sequence of points

In some applications a spine curve is speciﬁed by a sequence of points xiin 3D, which we may assume to

lie on some unknown regularly parameterized spine curve, and we need to compute a sequence of frames Ui

which has minimal rotation about the spine curve. In order to apply the double reﬂection method in this

case, we need to furnish each data point xiwith a unit tangent vector ti.

In the following we assume that the given points xi,i=0,1,...,n, are sampled from a regular parametric

x(u) with equally spaced parameter values, i.e., xi=x(ui), where ui=u0+i∗h. In actual computation,

this underlying curve x(u) is not known, so the tangent vectors tiat xineed to be estimated from the given

points xi. The key requirement for computing the tiis that the approximation error of tito the true tangent

vector x(ui) is of the order O(h5), so the global error of the double reﬂection method for computing the

RMF based on the estimated tangent vectors will be of the order O(h4).

We use the following formulas to estimate the tangent vectors at an internal point xi, i.e., when 2 ≤i≤

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

20 ·Wenping Wang et al.

n−2, we have

ti=xi−2−8xi−1+8xi+1 −xi+2.

For boundary points, i.e., when i=0,1,n−1orn,wehave

t0=−25x0+48x1−36x2+16x3−3x4,

t1=−3x0−10x1+18x2−6x3+x4,

tn−1=3xn+10xn−1−18xn−2+6xn−3−xn−4,

tn=25xn−48xn−1+36xn−2−16xn−3+3xn−4.

Using Taylor expansion, it is straightforward to verify that the error of approximation of the tito the

true tangent x(ui)isO(h5). After normalization, the error of the unit tangent vector ˜

ti=ti/tiis at most

O(h5). Hence, the global error of the double reﬂection method based on the local data (xi,˜

ti;xi+1,˜

ti+1)

is O(h4). This has also been conﬁrmed by our numerical experiments, which are not included here due to

space limitation.

It is assumed above that there are at least 5 sample points xi, i.e., n≥4. If n<4, some other simpler

methodcanbeusedtoestimate the tangent vectors ti(which would necessarily have approximation errors

larger than O(h5)). We skip the discussion on this special case for the sake of brevity.

6.2 Using only tangent vectors

According to its deﬁning equation (4), the RMF of a spine curve x(u) is entirely determined by the unit

tangent vector t(u). Thus it is natural to consider computing the RMF of x(u) using only the sampled

tangent vector ti=˙

x(ui). From a practical point of view, this treatment is also desirable when the points

x(ui) are overly densely sampled, which may make the ﬁrst reﬂection vector v1=xi+1 −xitoo small and

therefore make computation of the reﬂection R1less stable.

In order to apply the double reﬂection method in this case, all we need to do is provide a reﬂection vector

for the ﬁrst reﬂection R1. Our analysis shows that the global approximation order O(h4) to the true RMF

of x(u) is preserved if the ﬁrst reﬂection vector is chosen to be

v1= 13(ti+ti+1)−(ti−1+ti+2).(17)

Then the remaining steps of the double reﬂection method are the same. This assertion can be proved in a

similar way to that of proving Theorem 4.7. Note that the computation of v1in Eqn. (17) does not involve

subtraction between two close quantities, and therefore is numerically robust. Note, however, a diﬀerent

treatment is needed to compute v0and vn−1, such that an order O(h4) approximation to x1−x0and

xn−xn−1are achieved. We skip the details here.

6.3 Variational principles for RMF with boundary conditions

In general, the RMF of a closed smooth spine curve does not form a closed moving frame. Therefore, when

a closed moving frame with least rotation is needed, it can be generated by adding a gradual rotation to the

RMF along the closed spine curve to make the resulting moving frame closed. Even for an open spine curve,

it is often required that its moving frame meet given end conditions while having a natural distribution of

rotation along the spine curve. So an appropriate additional rotation to the RMF needs to be computed in

this case. We study in this section how this additional rotation can properly be determined.

More speciﬁcally, consider a curve segment x(s), s∈[0,L], in arc-length parameterization. We would

like to ﬁnd a one-parameter family of unit vectors g(s) orthogonal to the tangent vector t(s) and satisfying

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

Computation of Rotation Minimizing Frame ·21

the boundary conditions

g(0) = g0and g(L)=g1(18)

The vector g(s) deﬁnes an orthonormal frame M=(t,g,t×g) along the spine curve.

We compare the frame M(s) with the RMF generated by a vector r(s) satisfying r(0) = g(0). Let

α(s)=∠(r(s),g(s)) be the angle between the two frames, where the sign is chosen such that it corresponds

to a rotation around the oriented line determined by the tangent vector t(s). In addition, assume that α(s)

is continuous and satisﬁes α(0) = 0. We will call M(s)themodiﬁed frame, since it is obtained by adding a

rotation of angle α(s) to the RMF. In this sense the RMF serves as a reference frame with respect to which

another moving frame is speciﬁed.

The boundary conditions (18) imply that

α(0) = 0 and α(L)=∠(r(L),g1)+2kπ (19)

for a some ﬁxed integer k. The angular velocity vector of the modiﬁed frame M(s)is

ωmodiﬁed(s)=κ(s)b(s)+α(s)t(s) (20)

The function s→ α(s) speciﬁes the angular speed of the rotation of M(s) around the tangent of the curve

x(u). We now consider two possible ways of choosing α(s).

Minimal total angular speed. One may choose α(s) that minimizes the functional

L

0||ωmodiﬁed||ds=L

0κ(s)2+α(s)2ds→Min (21)

and satisﬁes the boundary conditions (19). Let F(s, α, α)=√κ2+α2. Then we have at hand a functional

of the angular function α(s). The moving frame M(s) corresponds to a curve on the unit quaternion sphere,

and minimizing the functional in (21) amounts to minimizing the length of this curve subject to that g(s)is

perpendicular to t(s); this is the computational approach taken in [Hanson 1998].

Here we will analyze this variational problem to give it a simple geometric interpretation as well as an

easy computational method. Solving Euler’s equation of the functional (21) using calculus of variations

yields

0=Fα−d

dsFα=−κ

(κ2+α2)3/2(κα −ακ)=−κ3

(κ2+α2)3/2α

κ

(22)

assuming κ= 0. It follows that

α(s)=Cκ(s) (23)

for some constant C, which can be determined from the boundary conditions and the total curvature.

Consequently, the angular speed of the additional rotation around the tangent is proportional to the curvature

of the curve. Hence, minimizing (21) makes the additional rotation more concentrated on curve segments of

higher curvatures.

The above analysis is only valid for curved segments with κ(s)≡ 0. For straight line segments, the

variational problem (21) does not have a unique solution. In fact, the integrand in this case simpliﬁes to

|α|, and any monotonic function α(s) which satisﬁes the boundary conditions is a solution. Because of

this non-uniqueness of solution, optimization methods as used in [Hanson 1998] for minimizing (21) will

experience numerical problems with a spine curve that is close to a straight line. Based on our analysis, a

more eﬃcient method is to compute the curvatures at sampled points of the spine curve, and then distribute

the additional rotation proportional to the curvatures along the curve, with respect to the RMF.

ACM Transactions on Graphics, Vol. V, No. N, Month 20YY.

22 ·Wenping Wang et al.

Minimal total squared angular speed. One may also choose α(s) that minimizes

L

0||ωmodiﬁed||2ds=L

0

(κ(s)2+α(s)2)ds→Min (24)

and satisﬁes the boundary conditions (19). Now, with F=κ2+α2, Euler’s equation gives α =0,or

α(s)=as for some constant a;thatis,the rotation of Mis linearly proportional to the arc length parameter s.

This choice of the additional rotation is not only easy to implement, but also free of the numerical problem

with the method based on minimizing (21); so it is recommended over the ﬁrst one based on minimizing the

total angular speed. Note that this means of applying the additional rotation as proportional to arc-length

has been suggested in the literature (e.g. [Bloomenthal 1990; Wang and Joe 1997]), but here we provide

theoretical justiﬁcation from the viewpoint of the variational principle through minimization of the total

squared angular speed.

Eﬃcient implementation of the above methods of computing a moving frame with boundary conditions

is based on angle adjustment to the RMF, either according to curvature or arclength. When the RMF

is computed approximately, the resulting solution is only an approximate one. In this regard, the higher

accuracy of the double reﬂection method makes this solution more accurate than using the projection method

or the rotation method.

One may choose the integer kin (19) to minimize the rotation if the least deviation to the RMF is

desired, or choose kto design a moving frame with a speciﬁed amount of total twist along the spine curve.

Figure 13 shows comparison of the two methods above for computing frames meeting certain boundary

conditions. The method based on total angular speed minimization (i.e., rotation proportional to curvature)

and the method based in total squared angular speed minimization (i.e., rotation proportional to arclength)

are shown in the ﬁrst row and the second row, respectively. In each row, the four ﬁgures are for the case

of using RMF computed by the double reﬂection method with no twist adjustment, the case of using the

minimal twist to close the frame, the case of a twist of 2π,andthecaseofatwistof4π. We see that the

twist is more concentrated in high curvature parts of the spine curve in the ﬁrst row, while it is distributed

more uniformly along the curve in the second row.

In Figure 14, the support structure of a glass table, as a