Introduction To Polynomial Curves: Peter Schröder
Introduction To Polynomial Curves: Peter Schröder
Introduction To Polynomial Curves: Peter Schröder
CS175 2005
1
Introduction to
Polynomial Curves
Part II
Peter Schrder
CS175 2005
2
Polar Forms
Blossom
For every polynomial F(u) of degree
n there exists a unique symmetric
multiaffine map f(u
1
,...,u
n
) for
which F(u)=f(u,...,u). This map is
called the polar form. F(u) is called
its diagonal and f is called the
blossom of F.
Page 2
CS175 2005
3
Example
Cubic case
CS175 2005
4
Polar Form
Correspondence
Differentiation
differencing
well defined, i.e., independent of u
n
linear in
Page 3
CS175 2005
5
Polar Form
Differentiation
CS175 2005
6
Polar Form
Differentiation
let f be a polar form and 0pn,
and u R (fixed) then the
following are equivalent
Proof
Page 4
CS175 2005
7
Continuity
Two polynomials
let F and G be two polynomials of
degree n and let u be a point on
the real line. Then F and G are C
q
continuous at u iff
CS175 2005
8
Bezier Segments
Continuity conditions
Page 5
CS175 2005
9
Bezier Points
Finding control points
the Bezier control points of F with
respect to [s,t] are
Proof
CS175 2005
10
de Casteljau Alg.
Evaluate Bezier form
very stable
convex combinations only
Page 6
CS175 2005
11
de Casteljau
Properties
segment splitting, derivatives
CS175 2005
12
Multiple Segments
How to stick them together?
can match first derivative easily
second derivative?
Page 7
CS175 2005
13
Modeling
Bezier curves
requires to keep track of continuity
conditions explicitly... Possible, but
very messy
better: use basis which has
continuity conditions built in!
B-Splines
CS175 2005
14
B-Splines
Basic idea
share arguments of control points
Page 8
CS175 2005
15
Argument Bags
Knotvector
definition
non-decreasing sequence, can
have multiple entries (multiplicity)
curve:
CS175 2005
16
Knot Vector
Example
Bezier segments
B-splines segments
2n knots yield n+1 control points
moving window of size n (why?)
Page 9
CS175 2005
17
Continuity
Simple knots example
n=3 just drawing arguments
C
2
at s: cubic B-splines are C
2
(pqr) (qrs) (rst) (stx)
(qrv
1
) (rsv
1
) (stv
1
)
(rv
1
v
2
) (sv
1
v
2
)
(v
1
v
2
v
3
)
(qrs) (rst) (stx) (txy)
(rsv
1
) (stv
1
) (txv
1
)
(sv
1
v
2
) (tv
1
v
2
)
(v
1
v
2
v
3
)
evaluation at s
CS175 2005
18
Continuity
Doubling a knot
lose one order of continuity
now only C
1
(pqr) (qrs) (rss) (sst)
(qrv
1
) (rsv
1
) (ssv
1
)
(rv
1
v
2
) (sv
1
v
2
)
(v
1
v
2
v
3
)
(rss) (sst) (stx) (txy)
(ssv
1
) (stv
1
) (txv
1
)
(sv
1
v
2
) (tv
1
v
2
)
(v
1
v
2
v
3
)
evaluation at s
Page 10
CS175 2005
19
B-Splines
Terms
degree: highest exponent in
polynomial
order: 1+degree
multiplicity of a knot: how many
times repeated
continuity: C
n-m
with multiplicty m
CS175 2005
20
B-Splines
Definition
recursive
support
Page 11
CS175 2005
21
B-Spline Definition
Basis functions
CS175 2005
22
de Boor Algorithm
Recursion
recursive definition of the basis is
reflected in recursive structure on
control points
Page 12
CS175 2005
23
Evaluation
CS175 2005
24
Evaluation
Cubic spline
two successive segments
(pqr) (qrs) (rst) (stx)
(qrv
1
) (rsv
1
) (stv
1
)
(rv
1
v
2
) (sv
1
v
2
)
(v
1
v
2
v
3
)
(qrs) (rst) (stx) (txy)
(rsv
1
) (stv
1
) (txv
1
)
(sv
1
v
2
) (tv
1
v
2
)
(v
1
v
2
v
3
)
Page 13
CS175 2005
25
B-Splines
de Boor Algorithm
CS175 2005
26
B-Splines
Knot insertion
create new degree of freedom
along curve
Page 14
CS175 2005
27
Knot Insertion
Example
cubic spline: new knot
CS175 2005
28
Knot Doubling
Example
increasing multiplicity:
Page 15
CS175 2005
29
Other Properties
Integrals and derivatives
derivatives as differences
B-spline:
integrals
Bernstein basis:
CS175 2005
30
Degree Elevation
Re-express as higher order curve
by uniqueness
example: quadratic to cubic
Bezier control points?
Page 16
CS175 2005
31
Polar Forms
Curve manipulations
splitting
differentiation
knot insertion
increasing knot multiplicity
degree elevation
CS175 2005
32
What Else?
Rational curves
conic sections in homogeneous
coordinates
x
w
y