计算机辅助几何设计CAGD-04-Bezier曲线-多项式求根的Clipping方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Quadratic Bounds
• Approximated quadratic bounds
Upper bound Lower bound
Best quadratic approximant
Quadratic Clipping
[Barton and Jüttler, 2007]
p(t)
0 0
0
Bernstein Representation
• Basis transformation
{1, t, t 2 , ..., t n }
{B0n (t), B1n (t),..., Bnn (t)}
n
p(t) aiti i0 p1
n
p(t) pi Bin (t) i0
p3
p0
p2
Bézier Curve
Numerical Approaches
• But, not guarantee to find ALL the roots.
Basic Idea
• To bound all the roots using simpler functions
– Bounding box – Convex hull
0
t
Find the root of polynomial p(t) within [0, 0 ]
Bézier Clipping
p(t)
0 0
0
t
Polynomial p(t) in Bezier form
Bézier Clipping
p(t)
0 0
0
t
Convex hull reconstruction
[0 , 0 ] [1, 1] [n , n ] (hi i i )
• How fast does the sequence converge?
hi1 ~ hi ? hi1 C hi
2. Quadratic Clipping
Quadratic Clipping
• Idea
– Use quadratic bounds
Computing Roots of Polynomial by Clipping Methods
Outline
• Problem • Basic ideas • Cubic clipping • Conclusion
Problem
Find all the roots of polynomial p(t) within [0, 0 ]
Convex Hulls
• Subdivision
1. Bezier Clipping
Bezier Clipping Algorithm
• Idea: use the convex hull of the control polygon
p1
p3
p0
p2
Bézier Clipping
p(t)
0 0
Bézier Clipping
p(t)
0 0
0
t
Intersect convex hull with t-Hale Waihona Puke Baiduxis
Bézier Clipping
p(t)
0 1
1
t
The new interval [1, 1]
The Approximated Roots
• A sequence of intervals that bound the root of p
Numerical Approaches
No analytical solution for polynomial with degree >4!
• Numerical approaches
– Bisection method – Newton's method – Minimization methods – Integral methods – Iterative methods –…
[0 , 0 ] [1, 1] [n , n ]
• If the width of interval is smaller than the given tolerance, return the root (interval).
Convergence Rates
• A sequence of intervals that converge to the root:
p(t)
0 0
0
t
Finding Roots for Polynomial
Polynomial
p(t) antn an1t n1 a1t a0
An important problem in practical applications
Curve and surface intersection Collision detection Geometric modeling …
• Divide and conquer!
Bernstein Basis
• Bernstein polynomials with degree n
Bin
(t
)
n i
(1
t
)ni
t
i
t 0,1,..., n
• Bernstein basis
{B0n (t), B1n (t),..., Bnn (t)}
Quadratic Clipping
0 0
M0 p(t)
q0
m0
0
t
Bounding quadratic functions M0 and m0
Quadratic Clipping
0 0
M0 p(t)
q0
m0
0
t
Intersect M0 and m0 with t-axis
Quadratic Clipping
• Motivation
– To improve the convergence rate
Quadratic Bounds
Upper bound Lower bound
Quadratic Bounds
• But, how to compute the quadratic bounds efficiently?
t
Find the root of polynomial p(t) within [0, 0 ]
Quadratic Clipping
p(t)
0 0
0
t
Polynomial p(t) in Bezier form
Quadratic Clipping
0 0
p(t) q0
0
t
The best quadratic approximant q of p