Degree Reduction for NURBS Symbolic Computation on Curves Xianming Chen, Richard F. Riesenfeld, Elaine Cohen School of Computing University of Utah SMI’06
Degree Reduction for NURBS SymbolicComputation on Curves
Xianming Chen, Richard F. Riesenfeld, Elaine Cohen
School of ComputingUniversity of Utah
SMI’06
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
NURBS Symbolic Computation
1 closed algebraic operations on NURBS.2 Primitive Operation: sum/difference, multiplication/division,
differentiation, and composition (on polynomials)3 Derived Operation: all above on rationals, dot product,
cross product4 Problem: Fast raising degree when rational B-splines
involved.1 sum/difference is additive in terms of the final degree.2 differentiation doubles degree.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
NURBS Symbolic Computation
1 closed algebraic operations on NURBS.2 Primitive Operation: sum/difference, multiplication/division,
differentiation, and composition (on polynomials)3 Derived Operation: all above on rationals, dot product,
cross product4 Problem: Fast raising degree when rational B-splines
involved.1 sum/difference is additive in terms of the final degree.2 differentiation doubles degree.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
NURBS Symbolic Computation
1 closed algebraic operations on NURBS.2 Primitive Operation: sum/difference, multiplication/division,
differentiation, and composition (on polynomials)3 Derived Operation: all above on rationals, dot product,
cross product4 Problem: Fast raising degree when rational B-splines
involved.1 sum/difference is additive in terms of the final degree.2 differentiation doubles degree.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
NURBS Symbolic Computation
1 closed algebraic operations on NURBS.2 Primitive Operation: sum/difference, multiplication/division,
differentiation, and composition (on polynomials)3 Derived Operation: all above on rationals, dot product,
cross product4 Problem: Fast raising degree when rational B-splines
involved.1 sum/difference is additive in terms of the final degree.2 differentiation doubles degree.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
x ′x ′x ′,x ′′x ′′x ′′,x ′′′x ′′′x ′′′: a simple derivation
xxx = pppw , where p is a polynomial B-spline curve, and w is a
polynomial B-spline function. The derivatives are,
x ′x ′x ′ =p′p′p′w − pppw ′
w2 ,
x ′′x ′′x ′′ =p′′p′′p′′w − pppw ′′
w2 + (p′p′p′w − pppw ′)(1
w2 )′
x ′′′x ′′′x ′′′ =p′′′p′′′p′′′w − pppw ′′′
w2 + 2(p′′p′′p′′w − pppw ′′)(1
w2 )′ + (p′p′p′w − pppw ′)(1
w2 )′′+
p′′p′′p′′w ′ − p′p′p′w ′′
w2 .
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Introducing D’s
D1 = p′p′p′w − pppw ′
D2 = p′′p′′p′′w − pppw ′′
D3 = p′′′p′′′p′′′w − pppw ′′′
D21 = p′′p′′p′′w ′ − p′p′p′w ′′
(1)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
x ′x ′x ′,x ′′x ′′x ′′,x ′′′x ′′′x ′′′ in D’s
x ′x ′x ′ = 1w2 D1
x ′′x ′′x ′′ = 1w2 D2 − 2w ′
w3 D1
x ′′′x ′′′x ′′′= 1w2 D3 − 4w ′
w3 D2 + 6w ′2−2ww ′′
w4 D1 + 1w2 D21
(2)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
D21
A Result from [?]
For a space curve xxx , D21, as defined in Eq. (1), is spanned byD1 and D2.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
x ′x ′x ′,x ′′x ′′x ′′,x ′′′x ′′′x ′′′: a critical observation
By Eq. (2), the i-th (i = 0, 1, 2) order derivative of a rationalB-spline xxx is essentially the polynomial Di up to the same scalefactor 1
w2 , and some additive terms involving lower orderderivatives.
Therefore, for many rational curve inquiries, x ′x ′x ′,x ′′x ′′x ′′,x ′′′x ′′′x ′′′ can bereplaced by D1, D2, D3, respectively.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Degree Comparison: x ′x ′x ′,x ′′x ′′x ′′,x ′′′x ′′′x ′′′ vs. D1, D2, D3
x ′x ′x ′ 2d D1 2d-1x ′′x ′′x ′′ 4d D2 2d-2x ′′′x ′′′x ′′′ 8d D3 2d-3[x ′x ′x ′ x ′′x ′′x ′′] 6d [D1 D2] 4d-3[x ′x ′x ′ x ′′x ′′x ′′ x ′′′x ′′′x ′′′] 14d [D1 D2 D3] 6d-6
Assuming the degree of rational B-spline curve xxx is d
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Zero Set of a Rational Plane Curve
κ =[x ′x ′x ′ x ′′x ′′x ′′]|x ′x ′x ′|3
f1 = [p′p′p′w − pppw ′ p′′p′′p′′w − pppw ′′]
= [p′p′p′ p′′p′′p′′]w2 − [ppp p′′p′′p′′]w ′w − [p′ pp′ pp′ p]ww ′′
f2 = [p′p′p′ p′′p′′p′′]w − [ppp p′′p′′p′′]w ′ − [p′ pp′ pp′ p]w ′′
1 κ = 0 iff f0 = [x ′x ′x ′ x ′′x ′′x ′′] = 02 f0 = 0 iff f1 = [D1 D2] = 03 Eliminate common w(6= 0),
f1 = 0 iff f2 = 04 Degf2 = 3d − 3, Degf0 = 6d .
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Zero Set of a Rational Plane Curve
κ =[x ′x ′x ′ x ′′x ′′x ′′]|x ′x ′x ′|3
f1 = [p′p′p′w − pppw ′ p′′p′′p′′w − pppw ′′]
= [p′p′p′ p′′p′′p′′]w2 − [ppp p′′p′′p′′]w ′w − [p′ pp′ pp′ p]ww ′′
f2 = [p′p′p′ p′′p′′p′′]w − [ppp p′′p′′p′′]w ′ − [p′ pp′ pp′ p]w ′′
1 κ = 0 iff f0 = [x ′x ′x ′ x ′′x ′′x ′′] = 02 f0 = 0 iff f1 = [D1 D2] = 03 Eliminate common w(6= 0),
f1 = 0 iff f2 = 04 Degf2 = 3d − 3, Degf0 = 6d .
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Zero Set of a Rational Plane Curve
κ =[x ′x ′x ′ x ′′x ′′x ′′]|x ′x ′x ′|3
f1 = [p′p′p′w − pppw ′ p′′p′′p′′w − pppw ′′]
= [p′p′p′ p′′p′′p′′]w2 − [ppp p′′p′′p′′]w ′w − [p′ pp′ pp′ p]ww ′′
f2 = [p′p′p′ p′′p′′p′′]w − [ppp p′′p′′p′′]w ′ − [p′ pp′ pp′ p]w ′′
1 κ = 0 iff f0 = [x ′x ′x ′ x ′′x ′′x ′′] = 02 f0 = 0 iff f1 = [D1 D2] = 03 Eliminate common w(6= 0),
f1 = 0 iff f2 = 04 Degf2 = 3d − 3, Degf0 = 6d .
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Zero Set of a Rational Plane Curve
κ =[x ′x ′x ′ x ′′x ′′x ′′]|x ′x ′x ′|3
f1 = [p′p′p′w − pppw ′ p′′p′′p′′w − pppw ′′]
= [p′p′p′ p′′p′′p′′]w2 − [ppp p′′p′′p′′]w ′w − [p′ pp′ pp′ p]ww ′′
f2 = [p′p′p′ p′′p′′p′′]w − [ppp p′′p′′p′′]w ′ − [p′ pp′ pp′ p]w ′′
1 κ = 0 iff f0 = [x ′x ′x ′ x ′′x ′′x ′′] = 02 f0 = 0 iff f1 = [D1 D2] = 03 Eliminate common w(6= 0),
f1 = 0 iff f2 = 04 Degf2 = 3d − 3, Degf0 = 6d .
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
κ2 =[x ′x ′x ′x ′′x ′′x ′′]2
|x ′x ′x ′|6
κ′ =(x ′x ′x ′ ··· x ′x ′x ′)[x ′x ′x ′ x ′′′x ′′′x ′′′] − 3(x ′x ′x ′ ··· x ′′x ′′x ′′)[x ′x ′x ′ x ′′x ′′x ′′]
|x ′x ′x ′|5
=g0
|x ′x ′x ′|5
g2 = [D1 D3]|D1|2w + [D1 D21]|D1|2w+
2w ′[D1 D2]|D1|2 − 3(D1 ··· D2)[D1 D2]w
1 κ′ = 0 or κ = 0 iff (κ2)′ = 02 actually [?],
κ′ = 0 iff g0 = 0
3 if xxx rational,g0 = 0 iff g1 = 0
4 Degree comparison:poly. rational
κ2 12(d − 1) 48dg0 4d − 6 26dg1 9d − 6
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
κ2 =[x ′x ′x ′x ′′x ′′x ′′]2
|x ′x ′x ′|6
κ′ =(x ′x ′x ′ ··· x ′x ′x ′)[x ′x ′x ′ x ′′′x ′′′x ′′′] − 3(x ′x ′x ′ ··· x ′′x ′′x ′′)[x ′x ′x ′ x ′′x ′′x ′′]
|x ′x ′x ′|5
=g0
|x ′x ′x ′|5
g2 = [D1 D3]|D1|2w + [D1 D21]|D1|2w+
2w ′[D1 D2]|D1|2 − 3(D1 ··· D2)[D1 D2]w
1 κ′ = 0 or κ = 0 iff (κ2)′ = 02 actually [?],
κ′ = 0 iff g0 = 0
3 if xxx rational,g0 = 0 iff g1 = 0
4 Degree comparison:poly. rational
κ2 12(d − 1) 48dg0 4d − 6 26dg1 9d − 6
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
κ2 =[x ′x ′x ′x ′′x ′′x ′′]2
|x ′x ′x ′|6
κ′ =(x ′x ′x ′ ··· x ′x ′x ′)[x ′x ′x ′ x ′′′x ′′′x ′′′] − 3(x ′x ′x ′ ··· x ′′x ′′x ′′)[x ′x ′x ′ x ′′x ′′x ′′]
|x ′x ′x ′|5
=g0
|x ′x ′x ′|5
g2 = [D1 D3]|D1|2w + [D1 D21]|D1|2w+
2w ′[D1 D2]|D1|2 − 3(D1 ··· D2)[D1 D2]w
1 κ′ = 0 or κ = 0 iff (κ2)′ = 02 actually [?],
κ′ = 0 iff g0 = 0
3 if xxx rational,g0 = 0 iff g1 = 0
4 Degree comparison:poly. rational
κ2 12(d − 1) 48dg0 4d − 6 26dg1 9d − 6
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
κ2 =[x ′x ′x ′x ′′x ′′x ′′]2
|x ′x ′x ′|6
κ′ =(x ′x ′x ′ ··· x ′x ′x ′)[x ′x ′x ′ x ′′′x ′′′x ′′′] − 3(x ′x ′x ′ ··· x ′′x ′′x ′′)[x ′x ′x ′ x ′′x ′′x ′′]
|x ′x ′x ′|5
=g0
|x ′x ′x ′|5
g2 = [D1 D3]|D1|2w + [D1 D21]|D1|2w+
2w ′[D1 D2]|D1|2 − 3(D1 ··· D2)[D1 D2]w
1 κ′ = 0 or κ = 0 iff (κ2)′ = 02 actually [?],
κ′ = 0 iff g0 = 0
3 if xxx rational,g0 = 0 iff g1 = 0
4 Degree comparison:poly. rational
κ2 12(d − 1) 48dg0 4d − 6 26dg1 9d − 6
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Example: Polynomial Cubic B-spline
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Computing κ′ = 0: Squaring Approach
g1 = (κ2)′
1 degree = 242 # ctrl pnts = 1503 2 extra roots (κ = 0, but
κ′ 6= 0)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Computing κ′ = 0: Our Method
g2 =[x ′x ′x ′ x ′′′x ′′′x ′′′]|x ′x ′x ′|2 − 3(x ′x ′x ′ ··· x ′′x ′′x ′′)[x ′x ′x ′ x ′′x ′′x ′′]
1 degree = 62 # ctrl pnts = 243 exactly 6 roots where
κ′ = 0
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Example: (Rational) Ellipse
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Computing κ′ = 0: Squaring Approach
g1 = (κ2)′
1 degree = 962 # ctrl pnts = 388
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Curvature Critical Set of a Plane Curve
Computing κ′ = 0: Our Method
g2 = Eq.(3.5) in the paper1 degree = 122 # ctrl pnts = 52
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
The Evolute of a Plane Curve
EEE(x) = xxx +1κ
NNN
EEE(x) = xxx +|x ′x ′x ′|3
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r|x ′rx ′rx ′r|
= xxx +|x ′x ′x ′|2
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r
EEE(x) =pppw
+|D1|2
[D1 D2]
D1r
w2
=[D1 D2]w ppp + |D1|2 D1r
[D1 D2]w2
1 evolute of a rational curve xxx2 a rational reformulation, with
deg = 13d3 using D’s, resulting deg =
6d − 3.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
The Evolute of a Plane Curve
EEE(x) = xxx +1κ
NNN
EEE(x) = xxx +|x ′x ′x ′|3
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r|x ′rx ′rx ′r|
= xxx +|x ′x ′x ′|2
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r
EEE(x) =pppw
+|D1|2
[D1 D2]
D1r
w2
=[D1 D2]w ppp + |D1|2 D1r
[D1 D2]w2
1 evolute of a rational curve xxx2 a rational reformulation, with
deg = 13d3 using D’s, resulting deg =
6d − 3.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
The Evolute of a Plane Curve
EEE(x) = xxx +1κ
NNN
EEE(x) = xxx +|x ′x ′x ′|3
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r|x ′rx ′rx ′r|
= xxx +|x ′x ′x ′|2
[x ′x ′x ′ x ′′x ′′x ′′]x ′rx ′rx ′r
EEE(x) =pppw
+|D1|2
[D1 D2]
D1r
w2
=[D1 D2]w ppp + |D1|2 D1r
[D1 D2]w2
1 evolute of a rational curve xxx2 a rational reformulation, with
deg = 13d3 using D’s, resulting deg =
6d − 3.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
The Evolute of a Plane Curve
Example: Evolute of Ellipse usingEEE(x) = xxx + |x ′x ′x ′|2
[x ′x ′x ′ x ′′x ′′x ′′]x ′
rx ′rx ′r
1 degree = 262 # ctrl pnts = 108
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
The Evolute of a Plane Curve
Example: Evolute of Ellipse usingEEE(x) = xxx + |D1|2
[D1 D2]x ′
rx ′rx ′r
The same evolute1 degree = 92 # ctrl pnts = 40
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
τ = [x ′x ′x ′x ′′x ′′x ′′x ′′′x ′′′x ′′′]|x ′x ′x ′×x ′′x ′′x ′′|2 f = [D1 D2 D3]
DDDt = xxx + ζx ′x ′x ′ DDDDDDDDDt = ppp+λD1w
SSSb = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) SSSb = ppp+λ(D1×D2)w
SSSn = xxx + ζ(x ′x ′x ′ × x ′′x ′′x ′′) × x ′x ′x ′ SSSn = ppp+λ(D1×D2)×D1w
DDDDDDDDDr = xxx + ζ(τ TTT + κBBB) DDDDDDDDDr = xxx + λ(
[D1 D2 D3]|D1×D2|2
D1 + D1×D2|D1|2
)Unfortunately, the focal surface does not has a rationalrepresentation, in general.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector as Locus of Intersecting Points of 3Planes
Adapted from [?], x ′x ′x ′
xxx ′
xxx − xxx
BBB =
xxx ··· x ′x ′x ′
xxx ··· xxx ′|xxx |2−xxx2
2
, (3)
Applying Cramer’s rule, the bisector is,
BBB =(D0, D1, D2)
D, (4)
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 isreplaced by the RHS column vector.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Polynomial Case
Only focusing on degree in s of xxx(s) (BBB has the same degree ins of xxx(s) as that in s), Eq. (3) can be rewritten as, d − 1 d − 1 d − 1
0 0 0d d d
BBB =
2d − 10
2d
. (5)
1 D is polynomial of deg 2d − 12 Di is polynomial of deg 3d − 13 BBB = (Di
D ) is rational of deg 3d − 1
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Polynomial Case
Only focusing on degree in s of xxx(s) (BBB has the same degree ins of xxx(s) as that in s), Eq. (3) can be rewritten as, d − 1 d − 1 d − 1
0 0 0d d d
BBB =
2d − 10
2d
. (5)
1 D is polynomial of deg 2d − 12 Di is polynomial of deg 3d − 13 BBB = (Di
D ) is rational of deg 3d − 1
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Polynomial Case
Only focusing on degree in s of xxx(s) (BBB has the same degree ins of xxx(s) as that in s), Eq. (3) can be rewritten as, d − 1 d − 1 d − 1
0 0 0d d d
BBB =
2d − 10
2d
. (5)
1 D is polynomial of deg 2d − 12 Di is polynomial of deg 3d − 13 BBB = (Di
D ) is rational of deg 3d − 1
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Rational Case
1 D still has deg 2d − 1, but is now rational.2 By degree elevation and knot refinement, Di is a triple
product of (degree only) [2d − 1 0 2d ], thus is rational ofdeg 4d − 1.
3 BBB = (DiD ) is rational of deg 6d − 2
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Rational Case
1 D still has deg 2d − 1, but is now rational.2 By degree elevation and knot refinement, Di is a triple
product of (degree only) [2d − 1 0 2d ], thus is rational ofdeg 4d − 1.
3 BBB = (DiD ) is rational of deg 6d − 2
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Calculate the Degree: Rational Case
1 D still has deg 2d − 1, but is now rational.2 By degree elevation and knot refinement, Di is a triple
product of (degree only) [2d − 1 0 2d ], thus is rational ofdeg 4d − 1.
3 BBB = (DiD ) is rational of deg 6d − 2
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
A Polynomial Reformulation for Rational Case
Observation
xxx ′ and xxx − xxx in Eq. (3) are directions, and thus can be replacedwith D1 and ppp − wxxx , respectively.
Consequently, Eq. (3) can be transformed into, D1
xxx ′
ppp − xxxw
BBB =
ppp ··· D1,
w xxx ··· xxx ′,ppp2−(xxxw)2
2 ,
, (6)
where,
BBB = wBBB. (7)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
A Polynomial Reformulation for Rational Case
Observation
xxx ′ and xxx − xxx in Eq. (3) are directions, and thus can be replacedwith D1 and ppp − wxxx , respectively.
Consequently, Eq. (3) can be transformed into, D1
xxx ′
ppp − xxxw
BBB =
ppp ··· D1,
w xxx ··· xxx ′,ppp2−(xxxw)2
2 ,
, (6)
where,
BBB = wBBB. (7)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector of Rational Curves Has Degree 4d − 1
Only focusing on degree in s, this is,2d − 1 2d − 1 2d − 10 0 0d d d
BBB =
3d − 1d
2d
. (8)
Therefore, we are back to the polynomial situation!1 D is polynomial of deg 3d − 12 Di is polynomial of deg 4d − 13 BBB = BBB
w = (D0,D1,D2)Dw is rational of deg 4d − 1 (in s).
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector of Rational Curves Has Degree 4d − 1
Only focusing on degree in s, this is,2d − 1 2d − 1 2d − 10 0 0d d d
BBB =
3d − 1d
2d
. (8)
Therefore, we are back to the polynomial situation!1 D is polynomial of deg 3d − 12 Di is polynomial of deg 4d − 13 BBB = BBB
w = (D0,D1,D2)Dw is rational of deg 4d − 1 (in s).
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector of Rational Curves Has Degree 4d − 1
Only focusing on degree in s, this is,2d − 1 2d − 1 2d − 10 0 0d d d
BBB =
3d − 1d
2d
. (8)
Therefore, we are back to the polynomial situation!1 D is polynomial of deg 3d − 12 Di is polynomial of deg 4d − 13 BBB = BBB
w = (D0,D1,D2)Dw is rational of deg 4d − 1 (in s).
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector of Rational Curves Has Degree 4d − 1
Only focusing on degree in s, this is,2d − 1 2d − 1 2d − 10 0 0d d d
BBB =
3d − 1d
2d
. (8)
Therefore, we are back to the polynomial situation!1 D is polynomial of deg 3d − 12 Di is polynomial of deg 4d − 13 BBB = BBB
w = (D0,D1,D2)Dw is rational of deg 4d − 1 (in s).
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Polynomial Formulation of the Linear System for Solving the Curve/Curve Bisector
Bisector of Rational Curves Has Degree 4d − 1
Only focusing on degree in s, this is,2d − 1 2d − 1 2d − 10 0 0d d d
BBB =
3d − 1d
2d
. (8)
Therefore, we are back to the polynomial situation!1 D is polynomial of deg 3d − 12 Di is polynomial of deg 4d − 13 BBB = BBB
w = (D0,D1,D2)Dw is rational of deg 4d − 1 (in s).
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Point/Curve Bisector as Locus of 2 IntersectingPlanes
(x ′x ′x ′
xxx −QQQ
)BBB =
(xxx ··· x ′x ′x ′
|xxx |2−QQQ2
2
), (9)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Solving the Under-determined Liner System: Adda 3rd Plane
The 3rd plane passes through the space point and has thecorresponding generator as its normal [?]. Together with theother 2 planes, it gives an explicit directrix DDD of the ruledbisector, x ′x ′x ′
x ′x ′x ′ × (xxx −QQQ)xxx −QQQ
DDD =
xxx ··· x ′x ′x ′
QQQ ··· (x ′x ′x ′ × (xxx −QQQ))|xxx |2−QQQ2
2
. (10)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appr.: Point/Rational-CurveRuled Bisector Has Deg 17d
Focusing only on degrees in s, 2d 2d 2d3d 3d 3dd d d
DDD =
3d3d2d
. (11)
1 DDD is rational of deg (3d + 3d + 2d) + (2d + 3d + d) = 14d2 GGG = (x ′x ′x ′ × (xxx −QQQ)) is rational of deg 3d3 BBB = DDD + tGGG is rational of deg 17d
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appr.: Point/Rational-CurveRuled Bisector Has Deg 17d
Focusing only on degrees in s, 2d 2d 2d3d 3d 3dd d d
DDD =
3d3d2d
. (11)
1 DDD is rational of deg (3d + 3d + 2d) + (2d + 3d + d) = 14d2 GGG = (x ′x ′x ′ × (xxx −QQQ)) is rational of deg 3d3 BBB = DDD + tGGG is rational of deg 17d
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appr.: Point/Rational-CurveRuled Bisector Has Deg 17d
Focusing only on degrees in s, 2d 2d 2d3d 3d 3dd d d
DDD =
3d3d2d
. (11)
1 DDD is rational of deg (3d + 3d + 2d) + (2d + 3d + d) = 14d2 GGG = (x ′x ′x ′ × (xxx −QQQ)) is rational of deg 3d3 BBB = DDD + tGGG is rational of deg 17d
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appr.: Point/Rational-CurveRuled Bisector Has Deg 17d
Focusing only on degrees in s, 2d 2d 2d3d 3d 3dd d d
DDD =
3d3d2d
. (11)
1 DDD is rational of deg (3d + 3d + 2d) + (2d + 3d + d) = 14d2 GGG = (x ′x ′x ′ × (xxx −QQQ)) is rational of deg 3d3 BBB = DDD + tGGG is rational of deg 17d
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appro with PolynomialReformulation.: Point/Rational-Curve RuledBisector Has Deg 10d − 3
D1
D1 × (ppp − wQQQ)ppp − wQQQ
wDDD =
ppp ··· D1
wQQQ ··· (D1 × (ppp − wQQQ))ppp2−wQQQ2
2
,
(12)
and,focusing only on degree in s, this is, 2d − 1 2d − 1 2d − 13d − 1 3d − 1 3d − 1
d d d
wDDD =
3d − 14d − 1
2d
.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Explicit Directrix Appro with PolynomialReformulation.: Point/Rational-Curve RuledBisector Has Deg 10d − 3
D1
D1 × (ppp − wQQQ)ppp − wQQQ
wDDD =
ppp ··· D1
wQQQ ··· (D1 × (ppp − wQQQ))ppp2−wQQQ2
2
,
(12)
and,focusing only on degree in s, this is, 2d − 1 2d − 1 2d − 13d − 1 3d − 1 3d − 1
d d d
wDDD =
3d − 14d − 1
2d
.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Solving the Under-determined Liner System:Moving One Column to RHS
(xxx ′
xxx − QQQ
)BBB =
(xxx ··· x ′x ′x ′ − x ′x ′x ′[2]BBB[2]
|xxx |2−QQQ2
2 − (xxx [2] −QQQ[2])BBB[2].
),
where the notation aaa, for any vector aaa, denotes the vector aaa withthe last component discarded.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Direct Appr.: Point/Rational-Curve Ruled BisectorHas Deg 4d − 1
Focusing only on degrees in s, this is,(d − 1 d − 1
d d
)BBB =
(2d − 1
2d
). (13)
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Helix-Like-Curve Bisector byExplicit Directrix Appr.
Evolute of Ellipse1 degree = 172 # ctrl pnts = 108
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Helix-Like-Curve Bisector byDirect Appr.
The same evolute1 degree = 72 # ctrl pnts = 40
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Ellipse Bisector by ExplicitDirectrix Appr.
Evolute of Ellipse1 degree = 172 # ctrl pnts = 108
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Ellipse Bisector by Direct Appr.
The same evolute1 degree = 72 # ctrl pnts = 40
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Ellipse Bisector Curve by ExplicitDirectrix Appr.
Evolute of Ellipse1 degree = 172 # ctrl pnts = 108
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Ruled Point/Curve Bisectors
Example: Point/Ellipse Bisector Curve by DirectAppr.
The same evolute1 degree = 72 # ctrl pnts = 40
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Outline
1 Background
2 Derivatives of Rational Curves
3 Symbolic Computation on B-Spline Plane CurvesCurvature Zero Set of a Rational Plane CurveCurvature Critical Set of a Plane CurveThe Evolute of a Plane Curve
4 Symbolic Computation on B-Spline Space Curves
5 Point/Curve and Curve/Curve BisectorsPolynomial Formulation of the Linear System for Solvingthe Curve/Curve BisectorRuled Point/Curve Bisectors
6 Conclusion
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.
Background Derivatives of Rational Curves Plane Curves Space Curves Bisectors Conclusion
Conclusion1 presented several degree reduction strategies for NURBS
symbolic computation on curves, including1 eliminating higher degree terms resulting from irrelevant
lower order derivatives2 canceling common scalar factors3 polynomialization
2 an unaddressed numeric issue: the effect of discarding thedenominator to the final zero finding of the original rational
1 seems better for our examples.2 the opposite might be true if both the numerator and the
(discarded) denominator are evaluated too close to 0 atsome points.