Degree Reduction for NURBS Symbolic Computation on Curves

Preview:

Citation preview

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.

Recommended