complexity reduction for symbolic computation with rational b

25
April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm International Journal of Shape Modeling c World Scientific Publishing Company COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B-SPLINES * XIANMING CHEN School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190 Salt Lake City, UT 84112, USA [email protected] http://<www.cs.utah.edu/xchen> RICHARD F. RIESENFELD School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190 Salt Lake City, UT 84112, USA [email protected] ELAINE COHEN School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190 Salt Lake City, UT 84112, USA [email protected] Received (Day Month Year) Revised (Day Month Year) Accepted (Day Month Year) Communicated by (xxxxxxxxxx) Symbolic computation of NURBS plays an important role in many areas of NURBS- based geometric computation and design. However, any nontrivial symbolic computa- tion, especially when rational B-splines are involved, would typically result in B-splines with high degrees. In this paper we develop degree reduction strategies for NURBS sym- bolic computation on curves. The specific topics we consider include zero curvatures and critical curvatures of plane curves, various ruled surfaces related to space curves, and point/curve bisectors and curve/curve bisectors. Keywords : NURBS symbolic computation; degree reduction; zero curvature; critical curvature; torsion; evolute; focal curve; tangent developable; normal scroll; binormal scroll; rectifying developable; bisector curve; bisector surface. 1991 Mathematics Subject Classification: 68U07, 68U05 This work was supported in part by NSF ( CCR0310705 ). All opinions, findings, conclusions or recommendations expressed in this document are those of the authors and do not necessarily reflect the views of the sponsoring agencies. 1

Upload: others

Post on 03-Feb-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

International Journal of Shape Modelingc© World Scientific Publishing Company

COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION

WITH RATIONAL B-SPLINES∗

XIANMING CHEN

School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190Salt Lake City, UT 84112, USA

[email protected]://<www.cs.utah.edu/∼xchen>

RICHARD F. RIESENFELD

School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190

Salt Lake City, UT 84112, [email protected]

ELAINE COHEN

School of Computing, University of Utah, 50 S. Central Campus Dr. Rm. 3190

Salt Lake City, UT 84112, [email protected]

Received (Day Month Year)Revised (Day Month Year)

Accepted (Day Month Year)

Communicated by (xxxxxxxxxx)

Symbolic computation of NURBS plays an important role in many areas of NURBS-based geometric computation and design. However, any nontrivial symbolic computa-

tion, especially when rational B-splines are involved, would typically result in B-splineswith high degrees. In this paper we develop degree reduction strategies for NURBS sym-bolic computation on curves. The specific topics we consider include zero curvatures andcritical curvatures of plane curves, various ruled surfaces related to space curves, and

point/curve bisectors and curve/curve bisectors.

Keywords: NURBS symbolic computation; degree reduction; zero curvature; critical

curvature; torsion; evolute; focal curve; tangent developable; normal scroll; binormalscroll; rectifying developable; bisector curve; bisector surface.

1991 Mathematics Subject Classification: 68U07, 68U05

∗This work was supported in part by NSF ( CCR0310705 ). All opinions, findings, conclusionsor recommendations expressed in this document are those of the authors and do not necessarilyreflect the views of the sponsoring agencies.

1

Page 2: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

2 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

1. Introduction

Symbolic computation of Non-Uniform Rational B-splines (NURBS)1,2,3,4 refers to

algebraic operations on one or more NURBS that results in another NURBS. The

operations typically include primitive ones like sum, difference, multiplication, divi-

sion, differentiation, and function composition, and composite ones like dot product,

cross product (of 2 B-splines) and triple-scalar product (of 3 B-splines) in R3, and

generalized cross product of (n−1) B-splines and scalar product of n B-splines in Rn,

etc. These operations are essential to the construction of complex NURBS models

from simple ones, and, more importantly, to curve and surface interrogation.2,5,6,7,8

NURBS symbolic computation has also been used in various other areas such as

computing bisectors,9,10,11 blending surfaces12 and offsetting curves.13 In combina-

tion with subsivison-based rational constraint solvers,14,15 NURBS symbolic com-

putation can play a fundamental role in many areas of geometric computation on

free-form curves/surfaces. However, an important problem that restricts the prac-

tical use of NURBS symbolic computation is the rapidly increasing degree of the

derived NURBS, and hence their computational complexity, which is especially true

when rational B-splines are involved.

Because most operations on two rationals either add or double the degrees (cf.

Section 2), nontrivial symbolic computing on rational B-splines frequently becomes

impractical, especially when differentiation is involved. For example, the derivative

of the squared curvature of a quadratic rational curve has a degree of 96 (see Fig. 2)!

Considering that most geometric modeling systems abound with rational

quadratic curves/surfaces (e.g., circles and spheres), rapidly increasing degree can

pose computational issues. A common practice in the CAD community to deal

with problems caused by the rational representation is to approximate the ratio-

nal curve/surface with a polynomial. Error that might be acceptable in the initial

approximation might be amplified significantly in later stages of the design and

modeling process. Even when starting with a polynomial curve/surface, many in-

terrogations turn into interrogation of rationals.

In this paper, we develop degree reduction strategies for symbolic computation

on NURBS curves. Typically we transform the considered B-spline in various ways

into one with reduced degree. In some situations, the transformed B-spline is differ-

ent from the initial one, yet has the exact same solution to the considered problem

(like critical curvature inquiry); in other situations, the transformed B-spline rep-

resents the same geometry, but with a different parameterization (like the ruled

bisector surface); and, in yet other situations, the parameterization is the same,

but redundant terms are eliminated (like the evolute curve).

Also, a few words are in order about polynomial, rational or non-rational rep-

resentation. We clarify these terms first. Although piecewise polynomial functions

form a subset of piecewise rational functions, we usually reserve “rational”, omit-

ting the piecewise modifier throughout this paper, to refer to functions represented

as rational B-splines but not as polynomial B-splines. On the other hand, “non-

Page 3: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 3

rational” refers to functions that are not even representable with piecewise rational

B-splines. Assuming a curve - called primary curve - has a polynomial or rational

representation with parameter s, representations for derived curves, are expected to

be parameterized in s also. We call this the natural parameterization. Throughout

the paper, when we say f is polynomial, rational or non-rational, it should be un-

derstood as polynomial, rational or non-rational with this natural parameterization

unless explicitly stated otherwise. We will also investigate several 2-dimensional de-

rived surfaces related to curves. In some situations, like that of the bisector surface

between 2 space curves, we are still able to have a natural parametric representa-

tion. In other situations that involve one primary curve, there is no bivariate natural

parameterization. This allows us to choose an appropriate parameterization to cre-

ate a representation that is polynomial or rational, or with lower degree. One such

example is the tangent developable of a polynomial or rational space curve γγγ. If it is

parameterized in s and ζ as γγγ(s) + ζ TTT (s) (TTT is the unit tangent vector), the devel-

opable is not even rational in general; but, when the representation is γγγ(s)+ηγ′γ′γ′(s),

the developable is now polynomial (rational) if γγγ is polynomial (rational). Further

assuming γγγ = ppp(s)/w(s) is rational, the same developable can also be represented

as γγγ + λD1/w(s) = (ppp(s) + λD1(s))/w(s) (where γγγ = ppp/w,D1 = p′p′p′w − ppp w′; cf.

Eq. (5)), which has a lower degree. Later we use this re-parameterization strategy

to represent the rational rectifying developable (Section 5) and the ruled bisector

surface (Section 6.2; see also Fig. 4 and Fig. 5).

In this paper, the term degree reduction refers to representing the derived sym-

bolically computed NURBS with lower (reduced) degree and complexity from the

standardly defined representation. Notice that this is totally different from another

strategy in the CAD community where, for example, a given B-spline curve with

certain degree is approximated by another B-spline curve with a lower degree.

The rest of the paper is organized as follows. We first briefly review NURBS

symbolic computation in Section 2, especially focusing on the final degree of the

resulting B-spline. Adapted from Ref. 16, Section 3 develops the various derivatives

of a rational B-spline. It shows that the derivatives can actually be expressed as

polynomial B-splines up to a common divisor and some additive terms with lower

order derivatives; this observation is important for simplifying NURBS symbolic

computation. Section 4 develops degree reduction strategies for two common tasks

of curve interrogations, namely finding the zero curvature points and the critical

curvature points; also presented is the derivation of a degree reduced representation

of the evolute of the primary curve. In Section 5, several derived B-spline surfaces

related to a space curve are investigated. Section 6 develops a polynomial formu-

lation of a linear system defining the curve/curve bisector or point/curve bisector

and thus reduces the degree of the bisector that is the solution to the linear system;

moreover, a direct approach to solving the ruled point/curve bisector from a 2 × 3

linear system is presented. Finally, the paper concludes in Section 7.

Page 4: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

4 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

2. NURBS Symbolic Computation

First, we briefly review symbolic computation on polynomial B-splines. To sym-

bolically add/subtract two polynomial B-splines, both degree elevation and knot

vector refinement must be performed so that both operands have the same de-

gree and are defined on the same knot vector. Then addition and subtraction are

applied point-wise to their control polygons since they are in the same function

space and represented in the same basis. Dividing a vector polynomial B-spline by

a scalar polynomial B-spline basically follows the same procedure, except that the

final step is division and the derived B-spline is rational. The derivative of a poly-

nomial B-spline has new control points that are scaled forward differences of the

original control points, and has the favorable property of decreasing the original

degree by one. Multiplication of two B-splines, though, is complicated with differ-

ent approaches17,2,18,19,4,20. Of concern to this paper is that polynomial B-spline

multiplication results in another polynomial B-spline with a degree that is the sum

of the degrees of the two operands.

In contrast, rational B-spline symbolic computation is rather different. Every

operation on a rational B-spline is composite rather than primitive, and is imple-

mented typically as more than one primitive operation on the denominator and the

numerator. In general, addition, subtraction, and division raise the degree just as

multiplication does, while differentiation doubles the degree.

Table 1 lists symbolic operations on B-splines. From left to right, the columns

show respectively the operation, the recursive implementation (if the operation

is not primitive), the resulting type (i.e., polynomial or rational), and the final

degree. In the 1st and 2nd columns, ppp and pppi(i = 1, 2) denote a polynomial B-

spline with degree d and di, respectively, while ppp/w and pppi/wi denote a rational B-

spline with degree d and di, respectively. The table is organized in different vertical

groups according to the taxonomy of form/operation classes. Notice that triple

scalar product can be implemented straightforwardly as a cross product followed

by a dot product, and is not shown here. Also, function composition,3 as another

NURBS symbolic computation, is not discussed in this paper, and thus is omitted

from the table. In the rest of this paper, this table is referenced in calculating

the degree of the resulting B-spline from various NURBS symbolic computation,

although usually only the result is given, with the details omitted.

Page 5: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 5

Table 1. B-spline Symbolic Computation

operation implementationfinal B-spline

polynomial

or rationaldegree

ppp1 ± ppp2 primitive operation polynomial max(d1, d2)

ppp1 ∗ ppp2 primitive operation polynomial d1 + d2

ppp1/ppp2 primitive operation rational max(d1, d2)

ppp1

w1± ppp2 (ppp1 ± ppp2 ∗ w1)/w1 rational d1 + d2

ppp1

w1±

ppp2

w2(ppp1 ∗ w2 ± ppp2 ∗ w1)/(w1 ∗ w2) rational d1 + d2

ppp1

w1∗ ppp2 (ppp1 ∗ ppp2)/w1 rational d1 + d2

ppp1

w1∗

ppp2

w2(ppp1 ∗ ppp2)/(w1 ∗ w2) rational d1 + d2

ppp1

w1/ppp2 ppp1/(w1 ∗ ppp2) rational d1 + d2

ppp1

w1/

ppp2

w2(ppp1 ∗ w2)/(w1 ∗ ppp2) rational d1 + d2

ppp1 × ppp2 ppp[0] = ppp1[1] ∗ ppp2[2] − ppp1[2] ∗ ppp2[1], · · · polynomial d1 + d2

ppp1 ··· ppp2

i=0,1,2

(ppp1[i] ∗ ppp2[i]) polynomial d1 + d2

ppp1

w1× ppp2 (ppp1 × ppp2)/w1 rational d1 + d2

ppp1

w1×

ppp2

w2(ppp1 × ppp2)/(w1 ∗ w2) rational d1 + d2

ppp1

w1··· ppp2 (ppp1 ··· ppp2)/w1 rational d1 + d2

ppp1

w1···

ppp2

w2(ppp1 ··· ppp2)/(w1 ∗ w2) rational d1 + d2

ppp′ primitive operation polynomial d − 1( ppp

w

)′ ppp′w − pppw′

w ∗ wrational 2d

Page 6: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

6 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

3. Derivatives of Rational Curves

Suppose γγγ = ppp/w, where p is a polynomial B-spline curve, and w is a polynomial

B-spline function. Its derivatives are,

γ′γ′γ′ =p′p′p′w − ppp w′

w2(1)

γ′′γ′′γ′′ =(p′p′p′w − pppw′)′

w2+ (p′p′p′w − ppp w′)(

1

w2)′

=p′′p′′p′′w − pppw′′

w2+ (p′p′p′w − pppw′)(

1

w2)′ (2)

γ′′′γ′′′γ′′′ =p′′′p′′′p′′′w−ppp w′′′

w2+

p′′p′′p′′w′−p′p′p′w′′

w2+(p′′p′′p′′w−ppp w′′)(

1

w2)′+(p′′p′′p′′w−ppp w′′)(

1

w2)′+(p′p′p′w−ppp w′)(

1

w2)′′

=p′′′p′′′p′′′w−ppp w′′′

w2+

p′′p′′p′′w′−p′p′p′w′′

w2+ 2(p′′p′′p′′w − pppw′′)(

1

w2)′ + (p′p′p′w−ppp w′)(

1

w2)′′. (3)

We introduce the notationa,

D1 = p′p′p′w − ppp w′,

D2 = p′′p′′p′′w − pppw′′,

D3 = p′′′p′′′p′′′w − pppw′′′,

D21 = p′′p′′p′′w′ − p′p′p′w′′

(4)

to rewrite the derivatives as

γ′γ′γ′ = 1w2 D1

γ′′γ′′γ′′ = 1w2 D2 −

2w′

w3 D1

γ′′′γ′′′γ′′′ = 1w2 D3 + 1

w2 D21 −4w′

w3 D2 + 6w′2−2ww′′

w4 D1.

(5)

Remark 3.1. The Di’s in Eq. (4), and their corresponding cross product and triple

scalar product, are polynomial B-splines with degrees,

D1 2d − 1

D2 2d − 2

D3 2d − 3

[D1 D2] 4d − 3

[D1 D2 D3] 6d − 6

where d is the degree of the primary rational B-spline curve γγγ. �

Notice that, since the NURBS are piecewise rational, the degrees of the Di’s

(i = 1, 2, 3) are actually one lower than described in Remark 3.1. This is because

aFor consistent notation, D10,D20, and D30 would be indicated instead of D1,D2, and D3,respectively. These notations are adopted for simplicity and because that D21 is the only situationwhere double subscripts are actually needed.

Page 7: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 7

of the antisymmetry of the involved expressions. For example, when representing

D1 = p′p′p′w − pppw′ in the piecewise power basis, the coefficient of the highest degree

term vanishes. However, when γ is represented in the NURBS basis, none of the

coefficients of D1 vanish. To represent it in its proper degree, it would be necessary

to add another type of degree reduction stage to the computation, that is, to repre-

sent D1 as a spline of one degree lower and find its coefficients. Other research has

investigated this type of degree reduction( e.g., Ref. 21 and Ref. 22), which is quite

different from the type of degree reduction we are proposing within the context of

NURBS symbolic computation, and that is presented in this paper.

In Remark 3.1, for any two 2-D vectors aaa and bbb, [a ba ba b] denotes the determinant

of the matrix consisting of the two column vectors; and for arbitrary 3-D vectors

aaa, bbb and ccc, [a b ca b ca b c] is the triple scalar product. It also follows straightforwardly

[a ba ba b] = aaa� ··· bbb,

where, aaa� is used to mean the π/2 degree counter-clockwise rotation of aaa.

For a space curve γγγ, D21, as defined in Eq. (4), is spanned by D1 and D2 because

D1,D2 and D21 have a vanishing triple scalar product16 as below,

[D1 D2 D3] = (ppp′w − w′ppp) × (ppp′′w − w′′ppp) ··· (ppp′′w′ − w′′ppp′)

=(

(ppp′ × ppp′′)w2 − (ppp × ppp′′)ww′ − (ppp′ × ppp)ww′′)

··· (ppp′′w′ − w′′ppp′)

= −(ppp′ × ppp) ··· ppp′′ww′w′′ + (ppp × ppp′′) ··· ppp′)ww′w′′

= 0

Therefore, by Eq. (5),

Remark 3.2. For a rational B-spline curve γγγ, its first order derivative γγγ′ is

γγγ′ =D1

w2;

and its i-th order derivative γγγ(i) (i = 2, 3) can be written as

γγγ(i) =Di

w2+ terms in lower order derivatives.

The rational terms with lower order derivatives have degree at least d higher than

the first term Di/w2, but can be canceled out when computing quantities relevant

to many curve interrogations, for example, [γγγ′ γγγ′′] and [γγγ′ γγγ′′ γγγ′′′]. �

The degree reduction achieved by replacing γγγ(i) with Di/w2 is significant. By

Remark 3.1 and Table 1, all three Di/w2 (i = 1, 2, 3) are rational B-splines of

the same degree 2d. On the other hand, if computed algorithmically, although the

first order derivative γγγ′ is still of degree 2d, the second order derivative γγγ′′ and

the third order derivative γγγ′′′, would be rational B-splines of degree 4d and 8d,

respectively. Of course, consecutive differentiation of a rational B-spline does not

have to double the degree each time the differentiation is applied. A careful look

into Eq. (2) and Eq. (3) (cf. Eq. (5)) shows that both γγγ′′ and γγγ′′′ are summation

Page 8: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

8 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

of rational B-splines, but with the common denominator factor w2 – addition of

rational B-splines in this case does not necessarily add the degrees of the B-splines

involved (cf. Table 1). However, even by this smart implementation, γγγ′′ and γγγ′′′

would be rational B-splines of degree 3d and 4d, or d and 2d higher than D2/w2

and D3/w2, respectively.

Furthermore, when replacing γγγ(i) with Di/w2, the denominator of w2 will cancel

each other in some situation, and for any zero-set problem, the denominator of w2

can be ignored as it is always positive. That is, in both situations, the rational γγγ(i)

(i = 1, 2, 3) actually can be replaced by polynomial Di with ever decreasing degrees

of 2d − 1, 2d − 2, and 2d − 3, for i = 1, 2 and 3, respectively .

4. Symbolic Computation on Planar B-Spline Curves

Determining points with zero curvature and points with critical curvature (i.e.,

κ′ = 0) of a planar curve, are two fundamental issues in geometric design and

modeling. The signed curvature scalar field [γ′γ′γ′ γ′′γ′′γ′′] and the derivative of the squared

curvature (κ2)′ are used in Ref. 7, respectively, to perform these interrogations. We

degree reduce [γ′γ′γ′ γ′′γ′′γ′′] and present a direct formulation of the critical curvature

problem without the requirement to square the curvature first as is done in Ref. 7.

This achieves significant degree reduction for the final B-spline representation. Also

discussed in this section is the evolute of a planar curve, which is topologically

significant for distances to the curve,23 and is intimately related to offset curves.24

The evolute is first observed to have a rational B-spline representation in Ref. 25. We

eliminate several redundant factors that implicitly raise the degree of the original

representation of the evolute of a rational primary curve and thus transform the

evolute into a rational B-spline of lower degree.

4.1. Curvature zero set of a rational planar curve

The curvature of a planar B-spline curve γγγ is26,

κ =[γ′γ′γ′ γ′′γ′′γ′′]

‖γ′γ′γ′‖3, (7)

Except for a special class of Pythagorean-hodograph curves,27 κ as expressed in

Eq. (7) is generally irrational due to the radical in the denominator. The zero set

of κ, however, is only related to its numerator since the denominator is always

non-zero for a regular curve. If γγγ is a planar polynomial B-spline curve of degree d,

f0 = [γ′γ′γ′ γ′′γ′′γ′′] is a polynomial scalar B-spline of degree 2d−3. If γγγ is instead a rational

B-spline, f0 is a rational B-spline of degree 6d because the degree is doubled each

time a differentiation is applied algorithmically to a rational B-spline.

For the rational case, direct symbolic computation of f0 = [γ′γ′γ′ γ′′γ′′γ′′] computes a

high degree representation that can be reduced. By Eq. (5), the zero set of f0 is

Page 9: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 9

identical to that of f1 = [D1 D2]. So, by Eq. (4),

f1 = [p′p′p′w − pppw′ p′′p′′p′′w − ppp w′′]

= [p′p′p′ p′′p′′p′′]w2 − [ppp p′′p′′p′′]w′w − [p′ pp′ pp′ p]ww′′, (8)

where we have also used the fact that [p pp pp p] = 0. Eliminating the common factor

w, the original 0-curvature problem is transformed into the problem of finding the

zero set of a polynomial B-spline f2,

f2 = [p′p′p′ p′′p′′p′′]w − [ppp p′′p′′p′′]w′ − [p′ pp′ pp′ p]w′′,

which is of degree 3d−3, a reduction of 3d+3 from 6d in the brute force approach.

4.2. Curvature critical set of a planar curve

Because, generally, the curvature κ of a planar B-spline curve γγγ is not rational, fur-

ther NURBS symbolic computation cannot be applied to the curvature function.

A simple way to avoid this difficulty and to enable use of symbolic computation

and subdivision-based method to find the critical curvature7 is to differentiate the

squared curvature function. For the convenience of discussion, let us call this the

squaring approach. The squaring approach works well to find the final critical cur-

vature points, except it raises the degree of the final B-spline considerably, and also

requires post-processing to delete the inflection points introduced by squaring κ.

Specifically, squaring the curvature function in Eq. (7) yields

κ2 =[γ′γ′γ′ γ′′γ′′γ′′]2

‖γ′γ′γ′‖6. (9)

κ2 is rational, and has degree 6d − 6 or (2d + 4d) ∗ 2 + 2d ∗ 6 = 24d if γγγ is a

degree d polynomial or rational, respectively. The elements of the critical and zero

curvature set of γγγ are the roots of the numerator of (κ2)′, which has a degree of

(6d − 6) ∗ 2 = 12(d − 1) or 24d ∗ 2 = 48d for γγγ polynomial or rational, respectively.

Since we are interested only in κ′ rather than κ2, there is a more direct way to

find the critical curvature points. Instead of squaring κ and making it representable

as a NURBS, we take its derivative and then transform the final result into a

NURBS. By the curvature formula Eq. (7),

κ′ =

(

[γ′γ′γ′ γ′′γ′′γ′′]

‖γ′γ′γ′‖3

)′

=(γ′γ′γ′ ··· γ′γ′γ′) [γ′γ′γ′ γ′′′γ′′′γ′′′] − 3(γ′γ′γ′ ··· γ′′γ′′γ′′) [γ′γ′γ′ γ′′γ′′γ′′]

‖γ′γ′γ′‖5.

Denoting the numerator as g0,

g0 = (γ′γ′γ′ ··· γ′γ′γ′) [γ′γ′γ′ γ′′′γ′′′γ′′′] − 3(γ′γ′γ′ ··· γ′′γ′′γ′′) [γ′γ′γ′ γ′′γ′′γ′′], (10)

we see that the critical curvature set is the same as the zero set of g0, an expression

given earlier in Ref. 28 in terms of the coordinate functions of the original planar

curve. Then, g0 can be symbolically computed as a polynomial (rational) B-spline

if the curve γγγ is a polynomial (rational) B-spline. If γγγ is a polynomial B-spline of

degree d, g0 has degree 4d − 6. For a cubic polynomial curve, the final B-spline

Page 10: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

10 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

(a) Curvature Critical Points

(b) Squaring Approach

(c) Direct Approach

Fig. 1. Symbolically Computing Curvature Critical Points (polynomial case)

(a) a cubic B-spline curve γγγ (The curve model is from Ref. 29), its evolute and 6 criticalpoints where κ′ = 0 . Notice that there are actually 8 extreme curvature points(corresponding to 8 evolute cusps), with the 2 extra ones (not shown on the pri-mary curve) at the 2 ends of the bottom segment (segments are in alternatingcolors), where the left and right limit κ′ have different sign.

(b) the graph of the numerator of (κ2)′, with degree 24, and 150 control points. Two extraroots are returned where κ = 0.

(c) the graph of g0 = [γ′γ′γ′ γ′′′γ′′′γ′′′]‖γ′γ′γ′‖2−3(γ′γ′γ′ ···γ′′γ′′γ′′) [γ′γ′γ′ γ′′γ′′γ′′], with degree 6 and 24 control points.f has exactly 6 roots, where κ′ = 0.

All control polygons are shown in light gray, and control points in dark blue. Notice that

(b) and (c) are nonuniformly scaled and also trimmed to fit the space.

degree is only 6, compared to 24 produced by the squaring approach. This degree

comparison, as well as the one on rational curve case discussed shortly, is also tested

with Irit (version 9.5),25 where κ2 and (κ2)′ have degrees of 12 and 24 respectively

for a cubic polynomial, and 72 and 144 respectively for a cubic rational. See Fig. 1

for detail.

Now we focus on the rational situation. Because γ′γ′γ′, γ′′γ′′γ′′ and γ′′′γ′′′γ′′′ have degrees

of 2d, 4d and 8d, respectively, the first and second terms in Eq. (10) have degrees

of 2d ∗ 2 + (2d + 8d) = 14d and (2d + 4d) ∗ 2 = 12d, respectively. Therefore, g0

Page 11: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 11

has a degree of 14d + 12d = 26d. This is already a significant degree reduction of

48d − 26d = 22d compared to the squaring approach. However, more reduction is

possible. Substituting Eq. (5) into Eq. (10), and eliminating the common factor

w−4 transforms g0 into g1. g0 and g1 share the same zero set.

g1 = w4(

[γ′γ′γ′ γ′′′γ′′′γ′′′] ‖γ′γ′γ′‖2 − 3(γ′γ′γ′ ··· γ′′γ′′γ′′) [γ′γ′γ′ γ′′γ′′γ′′])

= [D1 D3] ‖D1‖2 + [D1 D21] ‖D1‖

2 −4w′

w[D1 D2] ‖D1‖

2

− 3(

(D1 ··· D2) [D1 D2] −2w′

w‖D1‖

2 [D1 D2])

= [D1 D3] ‖D1‖2 + [D1 D21] ‖D1‖

2 +2w′

w[D1 D2] ‖D1‖

2 − 3(D1 ··· D2) [D1 D2]

Multiplying both sides by w does not change the zero set, and transforms g1 into a

polynomial scalar B-spline g2,

g2 = (11)

[D1 D3] ‖D1‖2w + [D1 D21] ‖D1‖

2w + 2w′[D1 D2] ‖D1‖2 − 3(D1 ··· D2) [D1 D2]w

All four terms in the RHS of the above equation have the same degree of 9d − 6

(see Remark 3.1). Therefore, we have a derived polynomial B-spline f with degree

9d−6 whose zero set is the same as the critical curvature set of the primary rational

curve. This is a dramatic reduction from 48d arrived at with the brute force squaring

approach. For a cubic rational curve, the final B-spline is only degree 21, compared

to 144, had the squaring approach been taken. Fig. 2 shows the comparison on

finding the 4 critical curvature points of an ellipse represented as a C0 quadratic

rational B-spline.

4.3. Evolute of a planar curve

The evolute of a planar curve γγγ is,30,31

EEEγ = γγγ +1

κNNN,

where κ = ‖γ′γ′γ′‖3/[γ′γ′γ′ γ′′γ′′γ′′] is the signed curvature w.r.t. the unit normal NNN =

γγγ′�/‖γγγ′

�‖.b It can be transformed into,

EEEγ = γγγ +‖γ′γ′γ′‖3

[γ′γ′γ′ γ′′γ′′γ′′]

γγγ′�

‖γγγ′�‖

= γγγ +‖γ′γ′γ′‖2

[γ′γ′γ′ γ′′γ′′γ′′]γγγ′

�, (12)

which is a rational B-spline of degree 3d − 3 if γγγ is a polynomial of degree d, and

of degree 13d if γγγ is a rational of degree d.

bThe same evolute is defined if the Frenet-frame normal (and consequently always positive κ) isused.

Page 12: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

12 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

(a) Squaring Approach (b) Direct Approach

Fig. 2. Symbolically Computing Curvature Critical Points (rational case)

(a) the graph (top and bottom trimmed off to fit the space) of the numerator of (κ2)′ of anellipse γγγ, with degree 96, 388 control points. Vertically scaled down by 0.00001.

(b) the ellipse γγγ, and the graph of g2 in Eq. (11), with degree 12 and 52 control points.Vertically scaled down by 0.3.

Control polygons are shown in green in both images. Notice that there are actually only 4

roots for each graph, because the rightmost one identifies with the leftmost one by periodic

condition. Also notice that both graphs are smooth but with C−1 B-spline representation.

For the rational case, based on the definition of Di in Eq. (4), and its relation

to the derivatives in Eq. (5), it is possible to transform EEEγ and achieve much degree

reduction. Specifically, substituting Eq. (5), and

γγγ′� =

(

D1

w2

)

=(D1)�

w2,

Page 13: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 13

(a) EEEγ = γγγ +‖γ

′γ′

γ′‖2

[γ′γ′

γ′

γ′′

γ′′

γ′′]

γγγ′�, deg 26, 108 ctrl pt (b) EEEγ = γγγ +

‖D1‖2

[D1 D2]γγγ′

�, deg 9, 40 ctrl pt

Fig. 3. Evolute of an Ellipse

into Eq. (12), the evolute of a planar rational curve can re-formulated as,

EEEγ =ppp

w+

‖D1‖2

[D1 D2]

(D1)�

w2

=[D1 D2]w ppp + ‖D1‖

2 (D1)�

[D1 D2]w2,

with a final degree of 6d−3 (cf. Remark 3.1). Fig. 3 shows the evolute of an ellipse,

comparing initial representation to the transformed and degree reduced one.

Notice that we are able to reduce the degree considerably because (cf. Re-

mark 3.2) γγγ(i) can be replaced with Di and the algebraic operations on the common

divisor w2 result in some high degree terms that ultimately cancel.

5. Symbolic Computation on B-Spline Space Curves

Generally, the Frenet local orthonormal basis for a space curve,

TTT = γ′γ′γ′

‖γ′γ′γ′‖

,

BBB = γ′γ′γ′×γ′′γ′′

γ′′

‖γ′γ′γ′×γ′′γ′′

γ′′‖,

NNN = NNN‖NNN‖ = (γ′γ′

γ′×γ′′γ′′γ′′)×γ′γ′

γ′

‖γ′γ′γ′×γ′′γ′′

γ′′‖ ‖γ′γ′γ′‖

,

(13)

is not rational. However, a rational local orthogonal basis can be formed from it.

TTT = γ′γ′γ′,

BBB = γ′γ′γ′ × γ′′γ′′γ′′,

NNN = BBB × γ′γ′γ′ = (γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′.

(14)

Page 14: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

14 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

5.1. Curvature

Without going into the details of curvature zero set and critical set computation,

instead we point out that although κ is not rational in general, both κNNN and κ−1 NNN

are rational, just as in the planar curve case. Recall that the curvature of a space

curve is,

κ =‖γ′γ′γ′ × γ′′γ′′γ′′‖

‖γ′γ′γ′‖3(15)

So,

κNNN =‖γ′γ′γ′ × γ′′γ′′γ′′‖

‖γ′γ′γ′‖3NNN

=‖γ′γ′γ′ × γ′′γ′′γ′′‖

‖γ′γ′γ′‖3

(γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′

‖γ′γ′γ′ × γ′′γ′′γ′′‖ ‖γ′γ′γ′‖

=1

‖γ′γ′γ′‖4(γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′,

and,

1

κNNN =

‖γ′γ′γ′‖3

‖γ′γ′γ′ × γ′′γ′′γ′′‖NNN

=‖γ′γ′γ′‖3

‖γ′γ′γ′ × γ′′γ′′γ′′‖

(γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′

‖γ′γ′γ′ × γ′′γ′′γ′′‖ ‖γ′γ′γ′‖

=‖γ′γ′γ′‖2

‖γ′γ′γ′ × γ′′γ′′γ′′‖2(γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′; (16)

that is, both κNNN and κ−1 NNN are rational.

5.2. Torsion

The torsion26,32 of a space curve is

τ =[γ′γ′γ′ γ′′γ′′γ′′ γ′′′γ′′′γ′′′]

‖γ′γ′γ′ × γ′′γ′′γ′′‖2. (17)

If γγγ is rational of degree d, and τ is symbolically computed from its definition, it

is a rational B-spline with degree (2d + 4d + 8d) + (2d + 4d) ∗ 2 = 26d. By Eq. (5)

and Remark 3.2,

τ = w2 [D1 D2 D3]

‖D1 × D2‖2, (18)

which, by Remark 3.1, is a rational scalar B-spline with degree 8d − 6. Moreover,

the zero set of τ is identical to that of the polynomial scalar B-spline,

f = [D1 D2 D3],

which has degree 6d−6, compared to degree 14d if computed directly from [γ′γ′γ′γ′′γ′′γ′′γ′′′γ′′′γ′′′].

Page 15: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 15

5.3. Tangent developable, normal scroll and binormal scroll

The tangent developable DDDt, normal scroll DDDn and binormal scroll DDDb are all ruled

surfaces related to a space curve γγγ(s), and are generated on the same directrix γγγ

with generator vectors TTT , NNN and BBB, respectively. The generators can be replaced

by their unnormalized counterparts in Eq. (14), yielding

DDDt = γγγ + ζ γ′γ′γ′,

SSSb = γγγ + ζ (γ′γ′γ′ × γ′′γ′′γ′′),

SSSn = γγγ + ζ (γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′,

where ζ is the parameter in the ruled directions. If γγγ is rational of degree d, these

ruled surfaces have degree 3d, 7d and 9d, respectively. However, the above generators

can be replaced once again by their counterparts of Di’s in Eq. (4); specifically, after

some simple derivation, these ruled surfaces can be re-parameterized in λ,

DDDDDDDDDt =ppp + λD1

w,

SSSb =ppp + λ (D1 × D2)

w,

SSSn =ppp + λ (D1 × D2) × D1

w,

with degrees 2d − 1, 4d − 3 and 6d − 4, respectively.

5.4. Rectifying developable

The rectifying developable DDDDDDDDDr of a space curve γγγ(s), is the developable surface

developed, on the directrix γγγ, by the Darboux vector31 DDD = τ TTT + κBBB ; that is,

DDDDDDDDDr = γγγ + ζ (τ TTT + κBBB),

where ζ is the parameter of the rectifying developable surface on the ruled direction.

TTT , BBB and κ are not rational in general; however, by Eq. (13) (17) and (15),

τ TTT + κBBB =[γ′γ′γ′ γ′′γ′′γ′′ γ′′′γ′′′γ′′′]

‖γ′γ′γ′ × γ′′γ′′γ′′‖2

γ′γ′γ′

‖γ′γ′γ′‖+

‖γ′γ′γ′ × γ′′γ′′γ′′‖

‖γ′γ′γ′‖3

γ′γ′γ′ × γ′′γ′′γ′′

‖γ′γ′γ′ × γ′′γ′′γ′′‖

=1

‖γ′γ′γ′‖

( [γ′γ′γ′ γ′′γ′′γ′′ γ′′′γ′′′γ′′′]

‖γ′γ′γ′ × γ′′γ′′γ′′‖2γ′γ′γ′ +

γ′γ′γ′ × γ′′γ′′γ′′

‖γ′γ′γ′‖2

)

.

Hence, by re-parameterizing with λ = ‖γ′γ′γ′‖ ζ,

DDDDDDDDDr = γγγ + λ( [γ′γ′γ′ γ′′γ′′γ′′ γ′′′γ′′′γ′′′]

‖γ′γ′γ′ × γ′′γ′′γ′′‖2γ′γ′γ′ +

γ′γ′γ′ × γ′′γ′′γ′′

‖γ′γ′γ′‖2

)

,

which is rational with a degree of 39d when γγγ is a rational of degree d. Similarly, by

replacing the derivatives with D’s (Eq. (5)),DDDDDDDDDr can be represented as the following

rational B-spline

DDDDDDDDDr = γγγ + λ( [D1 D2 D3]

‖D1 × D2‖2D1 +

D1 × D2

‖D1‖2

)

,

exhibiting degree 13d − 8

Page 16: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

16 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

5.5. Focal curve

For a planar curve, the locus of its curvature centers or osculating circle centers,

i.e., the evolute, has significant topological meaning in many applications. On the

other hand, there are two similar curves related to a space curve - they are the

locus of its osculating circle centers and the locus of its osculating sphere centers.

In this paper, we call them evolute and focal curve, respectively. The evolute of a

space curve turns out to be a rational, just like its counterpart in planar curve case

(See Section 4.3); however it does not have as much topological significance as the

focal curve does. Therefore, instead of transforming and reducing the degree of the

evolute, we will work on the focal curve. The result, however, is of a negative kind;

we will show that, unfortunately, the focal curve of a space curve is non-rational,

in general.

The focal curve of a space curve x is the locus of osculating sphere centers, or,

FFFγ = γγγ +1

κNNN +

1

τ

(

1

κ

)′

BBB (19)

The first term is rational, and by Eq.(16), the second term is rational too. However,

FFFγ is not rational, in general, because the third term of the RHS of Eq. (19) is not

rational as demonstrated below.

By Eq. (7), Eq. (17) and Eq. (13),(

1

κ

)′

BBB =

(

‖γγγ′‖3

‖γγγ′ × γγγ′′‖

)′γγγ′ × γγγ′′

‖γγγ′ × γγγ′′‖

=3‖γγγ′‖2 ‖γγγ′‖′ ‖γγγ′ × γγγ′′‖ − ‖γγγ′ × γγγ′′‖′ ‖γγγ′‖3

‖γγγ′ × γγγ′′‖2

γγγ′ × γγγ′′

‖γγγ′ × γγγ′′‖.

Since

‖γγγ′ × γγγ′′‖′ =(γγγ′ × γγγ′′) ··· (γγγ′ × γγγ′′′)

‖γγγ′ × γγγ′′‖,

(

1

κ

)′

BBB =3‖γγγ′‖2 ‖γγγ′‖′ − (γγγ′×γγγ′′)···(γγγ′×γγγ′′′)

‖γγγ′×γγγ′′‖2 ‖γγγ′‖3

‖γγγ′ × γγγ′′‖2(γγγ′ × γγγ′′)

=3‖γγγ′‖(γγγ′ ··· γγγ′′) − (γγγ′×γγγ′′)···(γγγ′×γγγ′′′)

‖γγγ′×γγγ′′‖2 ‖γγγ′‖3

‖γγγ′ × γγγ′′‖2(γγγ′ × γγγ′′)

=‖γγγ′‖

‖γγγ′ × γγγ′′‖4(γγγ′ × γγγ′′)

(

3(γγγ′ ··· γγγ′′) ‖γγγ′ × γγγ′′‖2 − (γγγ′ × γγγ′′) ··· (γγγ′ × γγγ′′′) ‖γγγ′‖2)

,

where we have used

‖γγγ′‖ ‖γγγ′‖′ =1

2(‖γγγ′‖2)′ =

1

2(γγγ′ ··· γγγ′)′ = γγγ′ ··· γγγ′′.

By introducing

Ψ =3(γγγ′ ··· γγγ′′) ‖γγγ′ × γγγ′′‖2 − (γγγ′ × γγγ′′) ··· (γγγ′ × γγγ′′′) ‖γγγ′‖2

‖γγγ′ × γγγ′′‖4(γγγ′ × γγγ′′),

Page 17: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 17

we have,(

1

κ

)′

BBB = ‖γγγ′‖ Ψ,

where Ψ is a rational because each of its term is. If(

κ−1)′

BBB is rational, then solving

the above equation for ‖γγγ′‖, it would also be rational. Henceforth,(

κ−1)′

BBB cannot

be rational, provided that ‖γγγ′‖ is not rational, which is generally true.

5.6. Focal surface

The polar developable or the focal surface DDDp is developed by the focal lines (lines

parallel to binormals and passing through the curvature centers) on the focal curve,

i.e.,

DDDp = γγγ +1

κNNN +

1

τ

(

1

κ

)′

BBB + λ BBB,

where λ is the parameter of the polar developable surface on the ruled direction.

This is not a rational parameterization. However, re-parameterizing the last two

terms as,

1

τ

(

1

κ

)′

BBB + λ BBB = µBBB,

for some µ ∈ R, the polar developable now has a rational parameterization,

DDDp = γγγ +1

κNNN + µBBB, (20)

because the second term is already shown to be rational (cf. Eq. (16)), and B =

γ′γ′γ′ × γ′′γ′′γ′′ is rational too. By Eq. (16),

DDDp = γγγ +‖γ′γ′γ′‖2

‖γ′γ′γ′ × γ′′γ′′γ′′‖2(γ′γ′γ′ × γ′′γ′′γ′′) × γ′γ′γ′ + µ γ′γ′γ′ × γ′′γ′′γ′′ (21)

If γγγ is a rational B-spline, again by Eq. (5), DDDp can be represented as

DDDp =p

w+

1

w2

‖D1‖2

‖D1 × D2‖2(D1 × D2) × D1 +

µ

w4D1 × D2,

with significantly reduced degree.

6. Point/Curve and Curve/Curve Bisectors

It has been proved33,10 that the bisectorc between a rational planar curve and a

plane point is a rational curve, that the bisector between a space point and a space

cStrictly speaking, a point on the bisector, as discussed in this section and in Ref. 10, is notequidistant to the point and to the curve (or to the two curves), even locally – rather it has equalcritical distances. To get the real bisector, trimming procedure as done in Ref. 33 for the planecase has to be applied.

Page 18: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

18 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

rational curve is a rational ruled surface, and that the bisector between two space

rational curves is a rational surface. For the plane case, Ref. 33 has shown that

the point/curve bisector has a maximal degree of 3d − 1 and 4d − 1, if the curve

is a degree d polynomial and rational respectively.d We will reformulate equations

defining bisectors on space curves10, so that the symbolically-computed NURBS

bisector has precisely the same degree (i.e., 3d − 1 or 4d − 1); and this is true for

curve/curve bisectors as well as for point/curve bisectors.

6.1. Polynomial formulation of the linear system for solving the

curve/curve bisector

Adapted from Ref. 10, the bisector BBB of two space curves γγγ(s) and γγγ(s) is the

solution to the following linear system,

γ′γ′γ′

γγγ′

γγγ − γγγ

BBB =

γγγ ··· γ′γ′γ′

γγγ ··· γγγ′

12 (‖γγγ‖2 − γγγ2)

, (22)

where each B-spline in the LHS is regarded as a row vector. Geometrically, this

simply means that a bisector point BBB(s, s) of two space curves γγγ and γγγ is the

intersection point of three planes namely, the plane passing through γγγ(s) with

normal γ′γ′γ′(s), the plane passing through γγγ(s) with normal γγγ′(s), and the plane

passing through γγγ(s)+γγγ(s)2 with normal γγγ(s) − γγγ(s). Applying Cramer’s rule, the

bisector is,

BBB =(D0, D1, D2)

D, (23)

where D is the determinant of the LHS matrix, and Di (i = 0, 1, 2) is that of the

LHS matrix when its i-th column is replaced by the RHS column vector.

Assume that γγγ is a degree d B-spline, either polynomial or rational, with pa-

rameter s. Only focusing on degree in s (BBB has the same degree in s as that in s),

Eq. (22) can be rewritten as,

d − 1 d − 1 d − 1

0 0 0

d d d

BBB =

2d − 1

0

2d

(24)

First consider the situation when γγγ is a degree d polynomial. D, as a 3 × 3 de-

terminant, is the sum of 6 terms. Because each of the 6 terms is a degree 2d − 1

polynomial B-spline, D is also a degree 2d − 1 polynomial B-spline. On the other

hand, D0 has the following degree representation,

2d − 1 d − 1 d − 1

0 0 0

2d d d

(25)

dIt is stated to be 4d− 2 in Ref. 33 for the rational case, although we believe this is likely a typo.

Page 19: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 19

and thus 4 of the 6 terms are degree 3d − 1 B-splines, while the other 2 are still

degree 2d−1 polynomial B-spline. Therefore, D0, and of course D1 and D2 as well, is

a degree 3d−1 polynomial B-spline. Finally, a division of a degree 3d−1 polynomial

B-spline by another 2d− 1 polynomial scalar B-spline results in BBB being a rational

B-spline of degree 3d − 1.

Now suppose γγγ is rational. D is again the summation of 6 terms, each of which

is a degree 2d− 1 rational B-splines. However, adding them together does not raise

degree, because the denominators of these 6 rational B-splines are the same so the

summation of the 6 rationals is reduced to the summation of 6 polynomial B-splines

followed by a division by the common scalar polynomial B-spline. Therefore, D is

finally a degree 2d − 1 rational B-spline. On the other hand, D0 (and similarly for

D1 and D2) has much higher degree. Notice that each of the three rational scalar

B-splines in the first column of Eq. (25) has a different denominator from that

of the other two in the corresponding row. That is to say, in the summation of

the determinant, 2 of the 6 rational B-spline terms have a common denominator,

yet another 2 have another common denominator, and the remaining 2 have yet

another common denominator. Therefore, applying addition first within each pair

and then across the 3 pairs, the final rational B-spline is symbolically computed to

have degree (3d−1)+(3d−1)+(2d−1) = 8d−3. A better and simpler way of doing

this is to bring the three rational B-splines in each row of D0 to a common level

polynomial degree and knot configuration using degree elevation and knot insertion

respectively. That is, transforming Eq. (25) into,

2d − 1 2d − 1 2d − 1

0 0 0

2d 2d 2d

(26)

Now adding the 6 terms in the determinant as usual, D0 is symbolically computed

to be a degree (2d− 1)+2d = 4d− 1 rational B-spline. And finally, BBB (cf. Eq. (23))

is a rational B-spline of degree (2d − 1) + (4d − 1) = 6d − 2.

We have just discussed the optimal implementation. In what follows, we will

show that, for the rational case, the degree actually can be reduced to 4d − 1 by

careful reformulation.

Suppose γγγ = pppw

. Noticing that only the directions of the plane normals matter,

two of the three plane normals, γγγ′ and γγγ − γγγ, can be replaced with D1 and ppp−wγγγ,

respectively. Consequently, Eq. (22) can be transformed into,

D1

γγγ′

ppp − γγγw

BBB =

ppp ··· D1

w γγγ ··· γγγ′

12 (‖ppp‖2 − ‖γγγ‖2 w2)

, (27)

where,

BBB = wBBB. (28)

Page 20: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

20 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

(a) Explicit Directrix Approach (degree = 17) (b) Direct Approach (degree = 7)

Fig. 4. Point/Helix-Like-Curve Bisector

Comparing the two approaches to computing the ruled surface of bisector between a space

point (in gray) and a helix-like quadratic space curve. Control polygons in both images are

in green.

Only focusing on degree in s, this is,

2d − 1 2d − 1 2d − 1

0 0 0

d d d

BBB =

3d − 1

d

2d

(29)

Therefore, we are back to the polynomial situation; and analogously, D is a degree

3d − 1 polynomial B-spline, and Di (i = 0, 1, 2) is a degree 4d − 1 polynomial B-

spline. Noticing that now BBB = BBBw

= (D0,D1,D2)Dw

(cf.Eq.(28)), and that Dw is a degree

4d−1 polynomial B-spline, BBB is finally symbolically computed as a rational B-spline

of degree 4d − 1 in s.

6.2. Ruled point/curve bisectors

If one of the curve, say γγγ, is degenerated to a point QQQ, the second sub-equation in

Eq. (22) is not valid; that is, we have an under-determined 2 × 3 linear system.

(

γ′γ′γ′

γγγ −QQQ

)

BBB =

(

γγγ ··· γ′γ′γ′

12 (‖γγγ‖2 − ‖QQQ‖2)

)

(30)

Geometrically, there are now only two planes, intersecting into lines on the bisector,

and thus the bisector is actually a ruled surface with the intersecting lines as its

generators. There are two different approaches to solve this linear system (Figs. 4

and 5 compare the two approaches).

Page 21: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 21

(a) Explicit Directrix Approach (degree = 17) (b) Direct Approach (degree = 7)

Fig. 5. Point/Ellipse Bisector

Comparing the two approaches to computing the ruled surface of bisector between a plane

point (in gray) and an ellipse. Control polygons in both images are in green.

6.2.1. Explicit directrix approach

Elber and Kim10 introduce a third axillary plane that passes through the space

point and has the corresponding generator as its normal to the linear system so

that the directrix of the ruled bisector surface can be solved explicitly. Since they

do not discuss the degrees, especially for the rational case, we will go into a little

detail here.

The directrix DDD is the solution to the following linear system,

γ′γ′γ′

γ′γ′γ′ × (γγγ −QQQ)

γγγ −QQQ

DDD =

γγγ ··· γ′γ′γ′

QQQ ··· (γ′γ′γ′ × (γγγ −QQQ))

12 (‖γγγ‖2 −QQQ2)

(31)

Assuming γγγ(s) is a degree d rational B-spline, focusing only on degrees in s, we

have,

2d 2d 2d

3d 3d 3d

d d d

DDD =

3d

3d

2d

(32)

The directrix DDD is therefore symbolically computed to be a degree (3d+3d+2d)+

(2d + 3d + d) = 14d rational, by the same procedure as we derived the degree of BBB

(cf.Eq. (22)) in Section 6.1. Because the generator is GGG = (γ′γ′γ′ × (γγγ −QQQ)), which is

Page 22: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

22 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

a degree 3d rational,e the final ruled bisector, symbolically computed from

BBB = DDD + tGGG,

is a rational of degree 17d.

Using the same strategy as we did in Section 6.1, Eq. (31) has a polynomial

reformulation,

D1

D1 × (ppp − wQQQ)

ppp − wQQQ

w DDD =

ppp ··· D1

wQQQ ··· (D1 × (ppp − wQQQ))12 (ppp2 − wQQQ2)

, (34)

and, focusing only on degree in s, this is,

2d − 1 2d − 1 2d − 1

3d − 1 3d − 1 3d − 1

d d d

w DDD =

3d − 1

4d − 1

2d

Consequently, w DDD is the division of a degree (2d− 1) + (3d− 1) + d + d = 7d− 2

polynomial B-spline by another degree (2d− 1) + (3d− 1) + d = 6d− 2 polynomial

B-spline. Noticing that DDD = (wDDD)/w, DDD is the division of two polynomial B-spline

both having degree 7d−2; therefore, DDD is a degree 7d−2 rational B-spline. Rewriting

the generator as GGG = D1 × (γγγ −QQQ) with degree 3d − 1 in s, the final degree of the

bisector is 10d − 3 in s.

6.2.2. Direct approach

The directrix of the ruled point/curve bisector, however, does not have to be solved

explicitly; and also, for a fixed ruled surface, there are infinitely many choices for

the directrix. In fact, Eq. (30) of course can be turned into a 2 × 2 linear system

of two variables by moving any one of the 3 components of BBB to the RHS. Let

us assume, for the moment, that the last component of BBB can be moved to the

RHS without introducing additional singularity to the linear system. Eq. (30) is

transformed into,(

γγγ′

γγγ − QQQ

)

BBB =

(

γγγ ··· γ′γ′γ′ − γ′γ′γ′[2] BBB[2]12 (‖γγγ‖2 −QQQ2) − (γγγ[2] −QQQ[2]) BBB[2]

)

,

where the notation aaa, for any vector aaa, denotes the vector aaa with the last component

discarded. Focusing only on degrees in s, this is,(

d − 1 d − 1

d d

)

BBB =

(

2d − 1

2d

)

(35)

Notice that the above equation is actually the same as Eq. (29), considering that

the second row of the LHS matrix is all 0’s. Consequently, the bisector is a rational

eor, a degree 3d polynomial if only the denominator vector is taken as the generator. This, however,does not change the final degree of the bisector.

Page 23: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 23

(a) The Explicit Directrix Approach (cf. Fig. 5(a)) (b) The Direct Approach (cf. Fig. 5(b))

Fig. 6. The Plane Bisector Curve

The plane bisector curve in Fig 5 is the iso-curve of the ruled bisector for both approaches.

of degree 3d−1 in s if the curve is a degree d polynomial. On the other hand, if the

curve is a degree d rational, we would have a polynomial re-formulation (omitted

here) just as we did in Section 6.1, and once again, the resulting bisector has a

degree 4d − 1 in s.

At this point, a few words are in order, comparing our direct approach method

to the explicit directrix method in Ref. 10.

(1) the degree of the final bisector here is considerably reduced; compare Fig. 4(a)

to Fig. 4(b) and Fig. 5(a) to Fig. 5(b).

(2) the iso-curves of the ruled surface are exactly the height contour lines; see

Fig. 4(b) and 5(b)

(3) more than one parameterization may have to be used to cover the whole bisector

surface if moving some component (the last one in the derivation) does not

work for the whole parametric space (In this case, the curve has to be split into

separate segments. For any neighboring segment pair, different components of

the bisector are moved to the RHS of Eq. (30)).

(4) both approaches have the special case of the plane bisector curve as an iso-curve

of the ruled bisector surface; see Fig. 6.

7. Conclusion

We have presented several degree reduction strategies for NURBS symbolic com-

putation on curves, including eliminating higher order derivative terms, canceling

common scalar factors, and developing symbolic computation using polynomial B-

splines. Although only focusing on NURBS symbolic computation, we would like

to point out that there is also a numerical issue involved here, i.e. the effect of

discarding the denominator to the final zero finding of the original rational. Fig. 2

Page 24: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

24 Xianming Chen, Richard F. Riesenfeld, Elaine Cohen

gives us an example that the transformed and degree reduced B-spline, in fact, has

a better numeric condition. We suspect, however, that the opposite might be true if

at some points both the numerator and the (discarded) denominator are evaluated

very close to 0. In the future, we will extend the work in this paper to the surface

case, especially to investigate any possible degree reducing reformulation for various

surface interrogation problems.

References

1. Rida T. Farouki and V. T. Rajan. Algorithms for polynomials in bernstein form.Computer Aided Geometric Design, 5(1):1–26, 1988.

2. G. Elber. Free form surface analysis using a hybrid of symbolic and numeric compu-tation. Ph.D. thesis, University of Utah, Computer Science Department, 1992.

3. Tony DeRose, Ronald N. Goldman, Hans Hagen, and Stephen Mann. Functional com-position algorithms via blossoming. ACM Trans. Graph., 12(2):113–135, 1993.

4. Les A. Piegl and Wayne Tiller. Symbolic operators for nurbs. Computer-Aided Design,29(5):361–368, 1997.

5. G. Elber and E. Cohen. Second order surface analysis using hybrid symbolic andnumeric operators. ACM Transactions on Graphics, 12(2):160–178, April 1993.

6. Takashi Maekawa and Nicholas M. Patrikalakis. Interrogation of differential geometryproperties for design and manufacture. The Visual Computer, 10(4):216–237, 1994.

7. Gershon Elber and Myung-Soo Kim. Symbolic and numeric computation in curveinterrogation. Comput. Graph. Forum, 14(1):25–34, 1995.

8. N. M. Patrikalakis and T. Maekawa. Shape Interrogation for Computer Aided Designand Manufacturing. Springer-Verlag, 1 edition, 2002.

9. Gershon Elber and Myung-Soo Kim. Bisector curves of planar rational curves.Computer-Aided Design, 30(14):1089–1096, 1998.

10. Gershon Elber and Myung-Soo Kim. The bisector surface of rational space curves.ACM Trans. Graph, 17(1):32–49, 1998.

11. Gershon Elber and Myung-Soo Kim. A computational model for nonrational bisectorsurfaces: Curve-surface and surface-surface bisectors. GMP, pages 364–372, 2000.

12. Kwansik Kim and Gershon Elber. A symbolic approach to freeform parametric surfaceblends. Journal of Visualization and Computer Animation, 8(2):69–80, 1997.

13. Gershon Elber and Elaine Cohen. Error bounded variable distance offset operator forfree form curves and surfaces. Int. J. Comput. Geometry Appl, 1(1):67–78, 1991.

14. Evan C. Sherbrooke and Nicholas M. Patrikalakis. Computation of the solutions ofnonlinear polynomial systems. Computer Aided Geometric Design, 10(5):379–405,1993.

15. Gershon Elber and Myung-Soo Kim. Geometric constraint solver using multivariaterational spline functions. Symposium on Solid Modeling and Applications, pages 1–10,2001.

16. Xianming Chen, Richard Riesenfeld, and Elaine Cohen. Rational bezier patch dif-ferentiation using the rational forward difference operator. Proceedings of the 23rdComputer Graphics International Conference, June 2005.

17. K M Morken. Some identities for products and degree raising of splines. ConstructiveApproximation, 7:195–208, 1991.

18. E.T.Y Lee. Computing a chain of blossoms, with application to products of splines.cagd, 11(6):597–620, 1994.

19. Kenji Ueda. Multiplication as a general operation for splines. Curves and Surfaces inGeometric Design, pages 475–482, 1994.

Page 25: COMPLEXITY REDUCTION FOR SYMBOLIC COMPUTATION WITH RATIONAL B

April 2, 2007 21:19 WSPC/INSTRUCTION FILE ws-ijsm

Complexity Reduction for Symbolic Computation with Rational B-splines 25

20. Xianming Chen, Richard Riesenfeld, and Elaine Cohen. Nurbs multiplication revis-ited. Under Submission, 2006.

21. Tom Lyche and Knut Mrken. Knot removal for parametric b-spline curves and sur-faces. Computer Aided Geometric Design, 4(3):217–230, 1987.

22. Les Piegl and Wayne Tiller. Algorithm for degree reduction of b-spline curves.Computer-Aided Design, 27(2):101–110, February 1995.

23. J.W.Bruce and P.J.Giblin. Curves And Singularities. Cambridge University Press, 2edition, 1992.

24. Rida T. Farouki and C. Andrew Neff. Analytic properties of plane offset curves.Computer Aided Geometric Design, 7(1-4):83–99, 1990.

25. Gershon Elber. The irit modeling environment. http://www.cs.technion.ac.il/ irit/,2005.

26. B. O’Neill. Elementary Differential Geometry. Academic Press, 2 edition, 1997.27. R. T. Farouki and T. Sakkalis. Pythagorean hodographs. IBM Journal of Research

and Development, 34:736–752, 1990.28. Wonjoon Cho, Takashi Maekawa, and Nicholas M. Patrikalakis. Topologically reli-

able approximation of composite bzier curves. Computer Aided Geometric Design,13(6):497–520, August 1996.

29. William Martin and Elaine Cohen. Surface completion of an irregular boundary curveusing a concentric mapping. Proceedings of Curves and Surfaces 2002, 2002.

30. Ian R. Porteous. Geometric Differentiation: For the Intelligence of Curves and Sur-faces. Cambridge University Press, 2 edition, 2001.

31. Jan. J. Koenderink. Solid Shape. MIT press, 1990.32. Elaine Cohen, Richard F. Riesenfeld, and Gershon Elber. Geometric Modeling with

Splines:An Introduction. A K Peters, 1 edition, 2001.33. Rida T. Farouki and John K. Johnstone. The bisector of a point and a plane para-

metric curve. Computer Aided Geometric Design, 11(2):117–151, 1994.