Transcript Slide 1

Bernstein Polynomials,
Bézier Curves, de Casteljau‘s
Algorithm
Shenqiang Wu
Computer Aided Geometric Design
Ferienakademie 2004
1
Content
 1.
Motivation
 2. Problems of Polynom Interpolation
 3. Bézier Curves
 3.1 Bernstein Polynomials
 3.2 Definition of Bézier Curves
 3.3 Evaluation
 4. Summary
Computer Aided Geometric Design
Ferienakademie 2004
2
Motivation (1/2)
Target :
better control over the curve’s shape
Background:
Computer-supported automobile and aircraft design
Bézier (Renault) and de Casteljau (Citröen) both developed
independent from each other around 1960/65 descriptions of
curves with the following attributes:

Substitutes of pattern drawings by CAD

Flexible manipulation of curves with guaranteed and controllable
shape of the resulting curve

Introduction of control points that not necessarily lie itself on the
curve
Computer Aided Geometric Design
Ferienakademie 2004
3
Motivation (2/2)
Typical applications are:
 Car design, aircraft design, and ship design
 Simulation of movements
 Animations, movie industry and computer graphics
Modelling of objects with free-form-surfaces
Computer Aided Geometric Design
Ferienakademie 2004
4
Problems of Polynom Interpolation (1/2)

Polynom interpolation is an easy and unique method for describing curves
that also contain some „nice“ geometrical attributes.
 Polynom interpolation is not the method of choice within CAD applications
due to better curve descriptions (as we will see later).
Reason: polynom interpolation may oscillate
Computer Aided Geometric Design
Ferienakademie 2004
5
Problems of Polynom Interpolation (2/2)
Problems:

The polynomial interpolant may oscillate even when normal data
points and paramter values are used.

The polynomial interpolant is not shape preserving. This has nothing
to do with numerical effects, it‘s due to the interpolation process.

Too high costs for interpolation process: huge amount of necessary
operations for constructing and evaluating the interpolant.
Computer Aided Geometric Design
Ferienakademie 2004
6
Bernstein Polynomials (1/2)
 Method of approximation:
Bézier polynomials
 Preliminaries: Bernstein polynomials
Def.: A Bernstein polynomial of grade n has the following description
 n
B (t )     (1  t ) n i  t i
i
n
i
mit t  0,1, i  0,..., n
with binomial coefficients
 n   n! / i!*(n  i)! when 0  i  n
   
otherwise
 i  0
Computer Aided Geometric Design
Ferienakademie 2004
7
Bernstein Polynomials (2/2)
Attributes of Bernstein polynomials:

B (t )  0,1 n  ,0  i  n, t  0,1

i-times null in t=0, (n-i)-times null in t=1

n
i
n
B
i 0 i (t )  1 t  0,1 (Partion der 1)
n
Proof:
1
1  t   t n
n
n i




1

t
ti 
i 0  i 
 n
n
i
n i
n
n 1
i
i 1
n




n
i 0
Bin (t )
B (t )  B (1  t ) ( Symmetrie)
B (t )  t  B
(t )  (1  t )  Bini (t ) (Rekursion )
Computer Aided Geometric Design
Ferienakademie 2004
8
Basis functions of Bernstein Polynomials
Bernstein-Polynome vom Grad 4
Computer Aided Geometric Design
Ferienakademie 2004
9
Bézier Curves (1/2)
Def.: The following curve
n
X (t ) :  bi  B (t )
i 0
n
i
for t  0,1 and bi  R
n
b2
Control polygon
is called Bézier curve of grade n
with control points b0,…,bn
Bézier curve
b3
b1
The complete form of a Bézier
polynomial of grade 3, for example, with
control points b0,…,bn looks as follows:
X (t )  b0 (1  t )3  3b1 (1  t ) 2 t  3b2 (1  t )t 2  b3t 3
Computer Aided Geometric Design
Ferienakademie 2004
b4
10
Bézier Curves (2/2)
Different Bézier Curves with its control polygons
Computer Aided Geometric Design
Ferienakademie 2004
11
Attributes of Bézier Curves (1/9)
Attributes of Bézier curves:
 x(0)=b0 and x(1)=bn, that means the Bézier
curve lies on b0 and bn.
 x‘(0)=n(b1-b0) and x‘(1)=n(bn-bn-1) (tangents in
start and end point)
 Values x(t) are a convex combination of the control points
 The Bézier curve entirely lies in its control polyeder or
control polygon
Computer Aided Geometric Design
Ferienakademie 2004
12
Attributes of Bézier curves (2/9)
 Bézier curves are invariant under projections
 Bézier curves are symmetric within their control points
 Are all Bézier points collinear the Bézier curve becomes a
line
 Bézier curves are shape preserving: non negative
(monoton, convex…) data leads to a non negative
(monoton, convex…) curve
Computer Aided Geometric Design
Ferienakademie 2004
13
Attributes of Bézier Curves (3/9)
Endpoint interpolation and attributes of tangents:
b0
A Bézier curve interpolates the first and the last point of its
control polygon and has the first and last line element of its
control polygon as tangent.
control polygon
bn
line
element
Bézier curve
Computer Aided Geometric Design
Ferienakademie 2004
line element
14
Attributes of Bézier Curves (4/9)
Convex hull property:
A Bézier curve lies within the convex hull of its control polygon.
Computer Aided Geometric Design
Ferienakademie 2004
15
Attributes of Bézier Curves (5/9)
Variation diminishing property:
Given: Bézier curve, any kind of line or plane
A Bézier curve doesn’t change the sides of any line or plane not more
often as its control polygon.
3
1
2
3
Sample lines
1
2
1
2
3
1
Computer Aided Geometric Design
Ferienakademie 2004
16
Attributes of Bézier Curves (6/9)
Linear precision:
Are the control points b0,...,bn of a Bézier curve
collinear the Bézier curve itself becomes a line.
Control polygon
bn
Bézier curve
b0
Computer Aided Geometric Design
Ferienakademie 2004
17
Attributes of Bézier Curves (7/9)
Subdivision:
Given is a Bézier curve with its
control polygon (b0,...,bn) resp.
[0,1].
b2
b1
Sometimes it’s necessary to cut a
c1
single Bézier curve into two
parts, both together being
identically to the originating
curve.
1. The subdivision algorithm from
de Casteljau leads to the control
polygons (c0,...,cn) and (d0,...,dn) c0
b0
of the Bézier curves within the
intervals [0,t] and [t,1], resp.
Computer Aided Geometric Design
Ferienakademie 2004
c2
c3
d0
d1
d2
b3 d3
Example: n=3
18
Attributes of Bézier Curves (8/9)
b2
b1
Subdivision:
Given is a Bézier curve with
its control polygon (b0,...,bn)
2. Successively subdivision
with de Casteljau’s algorithm
leads to a series of polygons
fast converging to the curve.
b3
b0
Computer Aided Geometric Design
Ferienakademie 2004
19
Attributes of Bézier Curves (9/9)
Subdivision:
b2
Given is a Bézier curve with b1
its control polygon (b0,...,bn)
3. Cutting off edges doesn’t
lead to further changes of
sides.
 Variation diminishing
property
b3
b0
Computer Aided Geometric Design
Ferienakademie 2004
20
Increase of Grade of Bézier curves (1/2)

Problem: After a Bézier polygon has been modified several times, it
can be seen that the curve of grade n is not flexible enough to
represent the desired shape.

Idea: Add one edge without changing the current shape of the curve.

Solution: Increase the grade of the Bézier curve from n to n+1, thus,
the new Bézier points Bk can be determined from the old Bézier
points bi as follows:
k
k 

Bk 
bk 1  1 
bk where 0  k  n  1.
n 1
 n 1
Computer Aided Geometric Design
Ferienakademie 2004
21
Increase of Grade of Bézier Curves (2/2)
Increase of grade: both polygons describe the same (cubic) curve
Application:

Design of surfaces
 Data exchange between different CAD and graphic systems
Computer Aided Geometric Design
Ferienakademie 2004
22
Evaluation of Bézier Curves
Method for determination of single curve points,
i.e. determination of x(t) for some t:
 Recursive calculation of Bernstein polynomials
 de Casteljau‘s algorithm
Computer Aided Geometric Design
Ferienakademie 2004
23
Recursive Calculation
Recursive calculation of Bernstein polynomials
Bir 1 (t ) : (1  t )  Bir (t )  t  Bir1 (t )
 1 when i  0
B (t ) : 
0 otherwise
0
i
According to this definition
Bézier curves are calculated
with the help of Bernstein
polynomials.
Example of a cubic Bézier curve
Computer Aided Geometric Design
Ferienakademie 2004
24
de Casteljau‘s Algorithm (1/2)
b11
b1
b02
b2
b12
b03
b01
b21
b3
0
t 1
b0
Geometric construction according to de Casteljau‘s algorithm for n=3 and t=2/3
Computer Aided Geometric Design
Ferienakademie 2004
25
de Casteljau‘s Algorithm (2/2)
de Casteljau‘s algorithm
i=0,…,n:
It can be described with the
following scheme:
bi0 : bi
b0  b00
k=1,…,n:
i=k,…,n:
k 1
i 1
b : (1  t )  b
k
i
This leads to
x(t )  bnn
k 1
i
 t b
b1  b10
b11
b2  b20
b21



b22

bn 1  bn01 bn11 bn21.......... bnn11
bn  bn0
bn1
Computer Aided Geometric Design
Ferienakademie 2004
bn2 ........... bnn 1 bnn
26
Example: De Casteljau‘s Algorithm (1/2)

Given: Bézier curve of grade 4
4
3
X(t) = b 0 × (1 - t ) + 4b1 × (1 - t ) × t +
6b 2 × (1 - t ) 2 × t 2 + 4b3 × (1 - t ) × t 3 + b 4 × t 4

With Bézier points
b0  (1,0) , b1  (0,2) , b2  (1, 5.5) , b3  (6, 5.5) , b4  (7.5, 0.5).

Wanted
X(t 0 ) for t 0  0.6
Computer Aided Geometric Design
Ferienakademie 2004
27
Example: de Casteljau‘s Algorithm (2/2)
de Casteljau scheme for the
x-component
de Casteljau scheme for the
y-component
1
0
1
6
7.5
0
2
5.5
5.5
0.5
0.4
0.6 0.52
4.0 2.64 1.8
6.9 5.74 4.5 3.42 = x(t=0.6)
1.2
4.1 2.9
5.5 4.9 4.14
6.7 3.6 4.9 4.174 = y(t=0.6)
Resultat: X(t=0.6)=(x,y)=(3.42,4.174)
Computer Aided Geometric Design
Ferienakademie 2004
28
Rating of Bézier Curves (1/2)
Rating of Bézier curves according to controlability and
locality:
Local changes of control points have global effects, but their
influence is only of local interest:
bi  bi  ei  x(t )  x(t )  B (t )  ei
n
i
The change Bin (t )  ei is only significant within the scope of the
control point bi .
Computer Aided Geometric Design
Ferienakademie 2004
29
Rating of Bézier Curves (2/2)
Problems:
 Double points are
possible, i.e. the projection
t  x(t ) is not bijetive
 Complex shapes of the desired curves may result in a
huge amount of control points that again leads to a
high ploynom grade.
Computer Aided Geometric Design
Ferienakademie 2004
30
Further Freeform Curves
NURBS
B-Splines
Computer Aided Geometric Design
Ferienakademie 2004
31
Freeform Surfaces
Bézier surface
Computer Aided Geometric Design
Ferienakademie 2004
32