Bezier and Spline Curves and Surfaces

7,798 views 19 slides Apr 06, 2017
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Evaluators provide a way to specify points on a curve or surface (or part of one) using only the control points. The curve or surface can then be rendered at any precision. In addition, normal vectors can be calculated for surfaces automatically. You can use the points generated by an evaluator in m...


Slide Content

Bezier and Spline Curves and
Surfaces
1

Objectives
•Introduce the Bezier curves and surfaces
•Derive the required matrices
•Introduce the B-spline and compare it to the standard cubic Bezier
2

Bezier’s Idea
•In graphics and CAD, we do not usually have derivative data
•Bezier suggested using the same 4 data points as with the cubic
interpolating curve to approximate the derivatives in the Hermite
form
3

Approximating Derivatives
4
p
0
p
1
p
2
p
3
p
1
located at u=1/3
p
2
located at u=2/3
3/1
pp
)0('p
01
-
»
3/1
pp
)1('p
23
-
»
slope p’(0)
slope p’(1)
u

Equations
5
p(0) = p
0
= c
0
p(1) = p
3
= c
0
+c
1
+c
2
+c
3
p’(0) = 3(p
1
-

p
0
) = c
0
p’(1) = 3(p
3
-

p
2
) = c
1
+2c
2
+3c
3
Interpolating conditions are the same
Approximating derivative conditions
Solve four linear equations for c=M
B
p

Bezier Matrix
6
ú
ú
ú
ú
û
ù
ê
ê
ê
ê
ë
é
--
-
-
=
1331
0363
0033
0001
MB
p(u) = u
T
M
B
p = b(u)
T
p
blending functions

Blending Functions
7
 
b(u)=
3
(1-u)
3u
2
(1-u)
3
2
u(1-u)
3
u
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
Note that all zeros are at 0 and 1 which forces
the functions to be smooth over (0,1)

Bernstein Polynomials
•The blending functions are a special case of the Bernstein
polynomials
•These polynomials give the blending polynomials for any degree
Bezier form
•All zeros at 0 and 1
•For any degree they all sum to 1
•They are all between 0 and 1 inside (0,1)
8
)1(
)!(!
!
)(
kd uu
kdk
d
ub
kdk
-
-
=
-

Convex Hull Property
•The properties of the Bernstein polynomials ensure
that all Bezier curves lie in the convex hull of their
control points
•Hence, even though we do not interpolate all the
data, we cannot be too far away
9
p
0
p
1
p
2
p
3
convex hull
Bezier curve

Bezier Patches
10
Using same data array P=[p
ij
] as with interpolating form
vupvbubvup
T
BB
T
ijj
ij
i MPM==åå
==
)()(),(
3
0
3
0
Patch lies in
convex hull

Analysis
•Although the Bezier form is much better than the
interpolating form, we have the derivatives are not
continuous at join points
•Can we do better?
•Go to higher order Bezier
•More work
•Derivative continuity still only approximate
•Supported by OpenGL
•Apply different conditions
•Tricky without letting order increase
11

B-Splines
•Basis splines: use the data at p=[p
i-2
p
i-1
p
i
p
i-1
]
T
to define
curve only between p
i-1 and p
i
•Allows us to apply more continuity conditions to each
segment
•For cubics, we can have continuity of function, first
and second derivatives at join points
•Cost is 3 times as much work for curves
•Add one new point each time rather than three
•For surfaces, we do 9 times as much work
12

Cubic B-spline
13
ú
ú
ú
ú
û
ù
ê
ê
ê
ê
ë
é
--
-
-
=
1331
0363
0303
0141
MS
p(u) = u
T
M
S
p = b(u)
T
p

Blending Functions
14
ú
ú
ú
ú
ú
û
ù
ê
ê
ê
ê
ê
ë
é
-++
+-
-
=
u
uuu
uu
u
u
3
22
32
3
3331
364
)1(
6
1
)(b
convex hull property

B-Spline Patches
vupvbubvup
T
SS
T
ijj
ij
i MPM==åå
==
)()(),(
3
0
3
0
15
defined over only 1/9 of region

Splines and Basis
•If we examine the cubic B-spline from the perspective of each control
(data) point, each interior point contributes (through the blending
functions) to four segments
•We can rewrite p(u) in terms of the data points as
defining the basis functions {B
i(u)}
16
puBup
ii)()(å=

Basis Functions
17
2
21
1
1
12
2
0
)1(
)(
)1(
)2(
0
)(
3
2
1
0

+<£+
+<£
<£-
-<£-
-<
ï
ï
ï
î
ï
ï
ï
í
ì
-
+
+
=
iu
iui
iui
iui
iui
iu
ub
ub
ub
ub
uBi
In terms of the blending polynomials

Generalizing Splines
•We can extend to splines of any degree
•Data and conditions to not have to given at equally spaced values
(the knots)
•Nonuniform and uniform splines
•Can have repeated knots
•Can force spline to interpolate points
•Cox-deBoor recursion gives method of evaluation
18

NURBS
•Nonuniform Rational B-Spline curves and surfaces add a fourth
variable w to x,y,z
•Can interpret as weight to give more importance to some control data
•Can also interpret as moving to homogeneous coordinate
•Requires a perspective division
•NURBS act correctly for perspective viewing
•Quadrics are a special case of NURBS
19