Title: Dr' Scott Schaefer
1The Bernstein Basis and Bezier Curves
2Problems with Interpolation
3Problems with Interpolation
4Bezier Curves
- Polynomial curves that seek to approximate rather
than to interpolate
5Bernstein Polynomials
- Degree 1 (1-t), t
- Degree 2 (1-t)2, 2(1-t)t, t2
- Degree 3 (1-t)3, 3(1-t)2t, 3(1-t)t2, t3
6Bernstein Polynomials
- Degree 1 (1-t), t
- Degree 2 (1-t)2, 2(1-t)t, t2
- Degree 3 (1-t)3, 3(1-t)2t, 3(1-t)t2, t3
- Degree 4 (1-t)4, 4(1-t)3t, 6(1-t)2t2,
4(1-t)t3,t4
7Bernstein Polynomials
- Degree 1 (1-t), t
- Degree 2 (1-t)2, 2(1-t)t, t2
- Degree 3 (1-t)3, 3(1-t)2t, 3(1-t)t2, t3
- Degree 4 (1-t)4, 4(1-t)3t, 6(1-t)2t2,
4(1-t)t3,t4 - Degree 5 (1-t)5, 5(1-t)4t, 10(1-t)3t2,
10(1-t)2t3 ,5(1-t)t4,t5 -
- Degree n for
8Properties of Bernstein Polynomials
9Properties of Bernstein Polynomials
10Properties of Bernstein Polynomials
11Properties of Bernstein Polynomials
Binomial Theorem
12Properties of Bernstein Polynomials
Binomial Theorem
13Properties of Bernstein Polynomials
Binomial Theorem
14Properties of Bernstein Polynomials
Binomial Theorem
15Properties of Bernstein Polynomials
16Properties of Bernstein Polynomials
17Properties of Bernstein Polynomials
18Properties of Bernstein Polynomials
19More Properties of Bernstein Polynomials
20More Properties of Bernstein Polynomials
21More Properties of Bernstein Polynomials
22More Properties of Bernstein Polynomials
23Properties of Bernstein Polynomials
24Properties of Bernstein Polynomials
25Properties of Bernstein Polynomials
26Properties of Bernstein Polynomials
- Base case
- Inductive Step Assume
27Properties of Bernstein Polynomials
- Base case
- Inductive Step Assume
28Properties of Bernstein Polynomials
- Base case
- Inductive Step Assume
29Properties of Bernstein Polynomials
- Base case
- Inductive Step Assume
30Bezier Curves
31Bezier Curves
32Bezier Curves
33Bezier Curve Properties
34Bezier Curve Properties
35Bezier Curve Properties
36Bezier Curve Properties
37Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
38Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
39Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
40Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
41Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
42Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
Another Bezier curve of vectors!!!
43Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge
44Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge - Curve lies within the convex hull of the control
points
45Bezier Curve Properties
- Interpolate end-points
- Tangent at end-points in direction of first/last
edge - Curve lies within the convex hull of the control
points
Bezier
Lagrange
46Matrix Form of Bezier Curves
47Matrix Form of Bezier Curves
48Matrix Form of Bezier Curves
49Matrix Form of Bezier Curves
50Matrix Form of Bezier Curves
Computation in monomial basis is unstable!!!
Most proofs/computations are easier in Bernstein
basis!!!
51Change of Basis
Bezier coefficients
52Change of Basis
Coefficients in monomial basis!!!
Bezier coefficients
53Change of Basis
54Change of Basis
55Change of Basis
56Change of Basis
57Change of Basis
monomial coefficients
58Change of Basis
Coefficients in Bezier basis!!!
monomial coefficients
59Degree Elevation
- Power basis is trivial add 0 tn1
- What about Bezier basis?
60Degree Elevation
61Degree Elevation
62Degree Elevation
63Degree Elevation
64Pyramid Algorithms for Bezier Curves
- Polynomials arent pretty
- Is there an easier way to evaluate the equation
of a Bezier curve?
65Pyramid Algorithms forBezier Curves
66Pyramid Algorithms forBezier Curves
67Pyramid Algorithms forBezier Curves
68Pyramid Algorithms forDerivatives of Bezier
Curves
Take derivative of any level of pyramid!!! (up to
constant multiple)
69Pyramid Algorithms forDerivatives of Bezier
Curves
Take derivative of any level of pyramid!!! (up to
constant multiple)
70Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
71Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
72Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
73Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
74Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
75Subdividing Bezier Curves
Control points for left curve!!!
76Subdividing Bezier Curves
Control points for right curve!!!
77Subdividing Bezier Curves
78Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
79Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
Lagrange Interpolation
80Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
Bezier Curve
81Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Bezier Curve
82Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Bezier Curve
83Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Bezier Curve
84Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Bezier Curve
85Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Bezier Curve
86Variation Diminishing
- For any line, the number of intersections with
the control polygon is greater than or equal to
the number of intersections with the curve
Lagrange Interpolation
87Applications Intersection
- Given two Bezier curves, determine if and where
they intersect
88Applications Intersection
- Check if convex hulls intersect
- If not, return no intersection
- If both convex hulls can be approximated with a
straight line, intersect lines and return
intersection - Otherwise subdivide and recur on subdivided pieces
89Applications Intersection
90Applications Intersection
91Applications Intersection
92Applications Intersection
93Applications Intersection
94Applications Intersection
95Applications Intersection
96Applications Intersection
97Applications Intersection
98Applications Intersection
99Applications Intersection
100Application Font Rendering
101Application Font Rendering