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
64Degree Elevation
65Degree Elevation
66Degree Elevation
67Degree Elevation
68Degree Elevation
69Degree Elevation
70Degree Elevation
71Pyramid Algorithms for Bezier Curves
- Polynomials arent pretty
- Is there an easier way to evaluate the equation
of a Bezier curve?
72Pyramid Algorithms forBezier Curves
73Pyramid Algorithms forBezier Curves
74Pyramid Algorithms forBezier Curves
75Pyramid Algorithms forDerivatives of Bezier
Curves
Take derivative of any level of pyramid!!! (up to
constant multiple)
76Pyramid Algorithms forDerivatives of Bezier
Curves
Take derivative of any level of pyramid!!! (up to
constant multiple)
77Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
78Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
79Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
80Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
81Subdividing Bezier Curves
- Given a single Bezier curve, construct two
smaller Bezier curves whose union is exactly the
original curve
82Subdividing Bezier Curves
Control points for left curve!!!
83Subdividing Bezier Curves
Control points for right curve!!!
84Subdividing Bezier Curves
85Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
86Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
Lagrange Interpolation
87Variation Diminishing
- Intuitively means that the curve wiggles no
more than its control polygon
Bezier Curve
88Variation 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
89Variation 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
90Variation 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
91Variation 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
92Variation 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
93Variation 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
94Applications Intersection
- Given two Bezier curves, determine if and where
they intersect
95Applications 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
96Applications Intersection
97Applications Intersection
98Applications Intersection
99Applications Intersection
100Applications Intersection
101Applications Intersection
102Applications Intersection
103Applications Intersection
104Applications Intersection
105Applications Intersection
106Applications Intersection
107Application Font Rendering
108Application Font Rendering