Vous êtes sur la page 1sur 24

1

B-splines and Subdivision


2
B-Splines (Uniform)
Through repeated integration
1
1 0
B
2
(x)
Box
function

<
=
otherwise 0
1 0 if 1
) (
0
x
x B
dt t x B x B
m m
) ( ) (
1
0
1
=

+
3
Convolution
definition:
translation:
dilation:
4
B-Splines
Repeated convolution
with box function
x

=
) 1 , 0 [ 0
) 1 , 0 [ 1
) (
0
x
x
x B
) ( ) (
0 1
x B B x B
m m
=
+
5
B-Splines
Obvious properties
piecewise polynomial
unit integral:
non-negative:
partition of unity:
support:

+

=1 ) ( dx x B
m
0 ) ( x B
m
] , 0 [ , 0 ) ( m x x B
m

1 ) ( =

i
m
i x B
6
Refinability of B-Splines
B-Spline refinement equation
a B-spline can be written as a
linear combination of dilates and
translates of itself
example
linear B-spline
and all others
1/2 1/2
1
7
Refinability of B-Splines
Refinement equation for B-splines
take advantage of box refinement
) 1 2 ( ) 2 ( ) (
0 0 0
+ = x B x B x B
( ) ) 2 2 ( ) 1 2 ( 2 ) 2 (
2
1
) (
1 1 1 1
+ + = x B x B x B x B
( ) k x B
k
n
x B
n
n
k
n
n

|
|

\
|
+
=

+
=
2
1
2
1
) (
1
0
8
( ) 1 , 2 , 1 2 1 ( ) 1 , 4 , 6 , 4 , 1 8 1
B-Spline Refinement
Examples
9
Spline Curves
Sum of B-splines
curve as linear combination
control points
p B ) ( ) (
) (
) (
) ( t p i t B
t y
t x
t
i
i
= =
(

[ ]
(
(
(
(

= + =
M
M
K K
1
0
, ) 1 ( ) ( ) 1 ( ) (
p
p
t B t B t B t p B
10
Spline Curves
Refine each B-spline in sum
example: linear B-spline
1/2 1/2 1
11
Spline Curves
Refinement for curves
refine each B-spline in sum
refinement
of control points
refined
bases
( )
i
i
i j
j
k
k
i
i
i
i
p s j t B
k i t B s p i t B p t

=
|

\
|
= =
2
) 2 (
) ( 2 ) ( ) (
12
Refinement of Curves
Linear operation on control points
13
Refinement of Curves
Bases and control points
14
Subdivision Operator
Example
cubic splines
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

\
|
=
O M M M M O
L L
L L
L L
L L
L L
L L
L L
L L
L L
L L
L L
O M M M M O
1 0 0 0
4 0 0 0
6 1 0 0
4 4 0 0
1 6 0
0 4 0
0 1 1
0 0 4
0 0 6
0 0 0 4
0 0 0 1
8
1
1
4
6
4
1
S
( ) 1 , 4 , 6 , 4 , 1 8 1
15
Subdivision
Apply subdivision to control points
draw successive control polygons
rather than curve itself
16
Summary so far
Splines through refinement
B-splines satisfy refinement eq.
basis refinement corresponds to
control point refinement
instead of drawing curve, draw
control polygon
subdivision is refinement of
control polygon
17
Chaikins Algorithm 1974
2 1 3
2 1 2
4
1
4
3
4
3
4
1
P P Q
P P Q
+ =
+ =
3 2 5
3 2 4
4
1
4
3
4
3
4
1
P P Q
P P Q
+ =
+ =
1 0 1
1 0 0
4
1
4
3
4
3
4
1
P P Q
P P Q
+ =
+ =
1 1 2
1 2
4
1
4
3
4
3
4
1
+ +
+
+ =
+ =
i i i
i i i
P P Q
P P Q
Apply Iterated
Function
System
Limit Curve Surface
P
0
P
1
P
2
P
3
Q
0
Q
1
Q
2
Q
3
Q
4
Q
5
Corner
cutting
18
Corner Cutting
1

:






3
3







:

1
19
Corner Cutting
20
Corner Cutting
21
Corner Cutting
22
Corner Cutting
23
Corner Cutting
24
Corner Cutting
25
Corner Cutting
The control polygon
The limit curve
A control point
26
Cubic Corner Cutting
1






:






1 1





:




1
1/8
1/8
3/4
27
Cubic Corner Cutting
28
The 4-point scheme
Dyn, Gregory, Levin 1987
k
i
k
i
k
i
k
i
k
i
k
i
k
i
p p p p p p p
16
1
16
9
16
9
16
1
1 2 3
1
2 2
1
1 2
+ + = =

+

1
1
1
1
8 1
1
k
i
p
3
k
i
p
1
k
i
p
1
2
+ k
i
p
29
The 4-point scheme
30
The 4-point scheme
31
The 4-point scheme
1


:


1
1


:


1
32
The 4-point scheme
1

:










8
33
The 4-point scheme
34
The 4-point scheme
35
The 4-point scheme
36
The 4-point scheme
37
The 4-point scheme
38
The 4-point scheme
39
The 4-point scheme
40
The 4-point scheme
41
The 4-point scheme
42
The 4-point scheme
43
The 4-point scheme
44
The 4-point scheme
The control polygon
The limit curve
A control point
45
Subdivision Curves
Approach Limit Curve Surface through an
Iterative Refinement Process.
Refinement 1 Refinement 2
Refinement
46
Subdivision Surfaces
Same approach works in 3D
Refinement
47
Applications of
Subdivision Surfaces
Geris Game (1989) : Pixar Animation Studios

Vous aimerez peut-être aussi