Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
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-
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.
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.
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
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.
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
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
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
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
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.
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,
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)
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 [γ′γ′γ′γ′′γ′′γ′′γ′′′γ′′′γ′′′].
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
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(γγγ′ × γγγ′′),
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.
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.
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)
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).
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
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.
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
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.
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.