Documente Academic
Documente Profesional
Documente Cultură
Contents
12/18/2006
12/18/2006
Ken Versprille
12/18/2006
where
Bih are the 4-D homogeneous control vertices
Ni,k(t)s are the nonrational B-spline basis functions
k is the order of the basis functions
12/18/2006
n +1
i =1
Ri ,k (t ) 1 for all t
12/18/2006
12/18/2006
10
12/18/2006
11
12/18/2006
12
12/18/2006
[H] = [1 1 h3 1 1]
13
12/18/2006
14
n + 1 = 5, k = 4
single vertex
[X]=[0 0 0 0 1 2 3 3 3 3]
[H] = [1 1 1/4 1/4 1 1]
n + 1 = 6, k = 4
double vertex
[X]=[0 0 0 0 1 2 3 4 4 4 4]
[H] = [1 1 1/4 1/4 1/4 1 1]
n + 1 = 7, k = 4
triple vertex
12/18/2006
15
12/18/2006
16
0 < h2 < 1
an elliptic curve segment
h2 = 1
a parabolic curve segment
h2 > 1
a hyperbolic curve segment
12/18/2006
17
12/18/2006
18
12/18/2006
19
12/18/2006
20
12/18/2006
Definition
Properties
Control
Additional Topics
21
12/18/2006
22
23
12/18/2006
24
Order/degree
Knot vectors (single/multiple)
Number of Control points
Control points (single/multiple)
12/18/2006
25
26
27
28
29
30
31
32
12/18/2006
33
Definition
Properties
Weight Effects
Algorithms
Additional Topics
12/18/2006
34
NURBS: Definition
In four-dimensional homongeneous coordinate space
12/18/2006
35
NURBS: Definition
Basis functions
where
and
36
NURBS: Definition
Basis functions
12/18/2006
37
NURBS: Properties
Si,j(u,w)0
Maximum order is the number of control vertices in
each parametric direction
Continuity Ck-2, Cl-2 in each parametric direction
Transform surface transform control net
The variation-diminishing property not known
12/18/2006
38
NURBS: Properties
Influence of single control vertex is k/2, l/2
If n+1=k, m+1=l, a rational Bzier surface results
If n+1=k, m+1=l and hij=1, a nonrational Bzier surface
results
Triangulated, the control net forms a planar
approximation to the surface
If hi,j0, surface lies within union of convex hulls of k,l
neighboring control vertices
12/18/2006
39
n + 1 = 5, m + 1 = 4 , k = l = 4, h1,3 = h2,3 = 0 ,
Notice the straight edge and flat surface indicated by the
red arrow
12/18/2006
40
41
Notice the curved edge and surface indicated by the red arrow
12/18/2006
42
B5,1
43
44
12/18/2006
45
12/18/2006
46
12/18/2006
47
12/18/2006
48
which yields
49
or
50
12/18/2006
51
and
52
53
12/18/2006
54
12/18/2006
55
56
12/18/2006
57
58
12/18/2006
59
60
12/18/2006
61
62
63
64
65
66
12/18/2006
67
12/18/2006
68
69
12/18/2006
70
Additional Topics
12/18/2006
71
Catmull-Rom Spline
The Catmull-Rom Spline is a local
interpolating spline developed for
computer graphics and CAGD
Data points
Tangents at data points
12/18/2006
72
12/18/2006
P(0)=a0
P(1)=a1
P(0)=a1
P(1)=a1+2a2+2a3
73
12/18/2006
74
P (u ) = 1 t t 2
0
0 0 P (0)
1
0
1 0 P (1)
3 0
t
3 3 2 1 P (0)
2
2
1
1
P (1)
75
Catmull-Rom Spline
Given n+1 control points {P0, P1, ,Pn} , find a curve that
interpolates these control points (i.e. passes through them all)
is local in nature (i.e. if one of the control points is moved, it only
affects the curve locally)
For the curve on the segment PiPi+1, using Pi and Pi+1 as two control
points, specifying the tangents to the curve at the ends to be
Pi +1 Pi 1
2
and
Pi + 2 Pi
2
12/18/2006
76
Catmull-Rom Spline
P (u ) = 1 t t 2
P (u ) = 1 t t 2
12/18/2006
Pi
1 0 0 0 Pi +1
0 0 1 0
Pi +1 Pi 1
t 3
3 3 2 1
2
2 2 1 1 Pi + 2 Pi
1
0
0 Pi 1
1 0 0 0 0
0 0 1 0 0
P
0
1
0
i
t 3
3 3 2 1 1/ 2
0
1/ 2 0 Pi +1
2
2
1
1
0
1/
2
0
1/
2
i+2
State Key Lab of CAD&CG
77
Catmull-Rom Spline
Multiplying the two inner matrices, we obtain
P (u ) = 1 t t 2
where
Pi 1
P
t 3 M i
Pi +1
P
i+2
0 2 0 0
1 1 0 1 0
M=
2 2 5 4 1
1
3
3
1
For the first and last segments in which P0 and Pn must be defined by a
different method.
12/18/2006
78
12/18/2006
79