View
4
Download
0
Category
Preview:
Citation preview
CurvesB-Splines
Bezier Curve
There is no local control (change of one controlpoint affects the whole curve)
Degree of curve is fixed by the number ofcontrol points
CurvesB-Splines
Each control point is associated with a uniquebasis function
Each point affects the shape of the curve overa range of parameter values where the basisfunction is non-zero
local control
CurvesB-Splines
B3
B2
x0
B0
B1
Q0 Q2
Q1
x1x2
x3
Control PointKnot Point
Q0:B0 B1 B2 B3Q1:B1 B2 B3 B4
Parameter t is defined asxi<t<xi+1
x0 x1 x2 x3: Knot values(knot vector)
CurvesB-Splines
Polynomial spline function of order k (degree k-1)
12)()( maxmin
1
1, +≤≤
≤≤= ∑
+
= nkttt
tNBtPn
ikii
Bi : Control pointNik : Basis function
CurvesB-Splines
Cox-de Boor Recursive Formula
xi’s are the knot values xi<xi+1
1
1,1
1
1,,
11,
)()()()()(
0
1)(
++
−++
−+
−
+
−−
+−
−=
<≤
=
iki
kiki
iki
kiiki
iii
xx
tNtx
xx
tNxttN
otherwise
xtxtN
CurvesB-Splines
Properties• Partition of Unity
• Covex hull property
0,1)( ,
1
1, ≥=∑
+
=ki
n
iki NtN
CurvesB-Splines
Convex hull property
For a B-Spline curve of order k (degree k-1) a point on the curve lies within the convex hull of k neighboring points
All points of B-Spline curve must lie within the union of all such convex hulls
CurvesB-Splines
Convex hull property
K=2
CurvesB-Splines
K=3
Convex hull property
CurvesB-Splines
K=3
Convex hull property
CurvesB-Splines
K=3
Convex hull property
CurvesB-Splines
K=3
Convex hull property
CurvesB-Splines
Convex hull property
K=8
CurvesB-Splines
Convex hull property
K=8
CurvesB-Splines
Cox-de Boor Recursive Formula
xi’s are the knot values xi<xi+1
1
1,1
1
1,,
11,
)()()()()(
0
1)(
++
−++
−+
−
+
−−
+−
−=
<≤
=
iki
kiki
iki
kiiki
iii
xx
tNtx
xx
tNxttN
otherwise
xtxtN
CurvesB-Splines
Examplen+1 = 4, k = 3
7441
3,43,1
xxxx
NN
−−−−↓↓↓↓
L
knot vector [x1 x2 … x7]
span xx for value zero nonhas Nk1n values knot Total
kiiik +→++=
CurvesB-Splines
Knot vector X can be:
Uniform (periodic)Open-UniformNon-Uniform
CurvesB-Splines
Uniform (Periodic)Individual knot values are evenly spaced
e.g. [ 0 1 2 3 4 ] [ -0.2 -0.1 0 0.1 0.2 ] [ 0 0.25 0.5 0.75 1 ]
CurvesB-Splines
OpenHas multiplicity of knot values at ends equal to
the order k of the B-Spline basis function. Internal Knotvalues are evenly spaced
e.g. k=2 [ 0 0 1 2 3 4 4 ] k=3 [ 0 0 0 1 2 3 3 3 ] k=4 [ 0 0 0 0 1 2 2 2 2 ]
CurvesB-Splines
Non-UniformUnequal internal spacing and/or multiple internalknot(s)
e.g. [ 0 0.28 0.5 0.72 1 ] [ 0 0 0 1 1 2 2 2 ] [ 0 1 2 2 3 4 ]
CurvesB-Splines
Uniform (Periodic)Uniform Knot vectors yields periodic uniformbasis functionsNi,k(t) = Ni-1,k(t-1) = Ni+1,k(t+1)
1
0 1 2 3 4 5 6
N1,3 N2,3 N3,3 N4,3 X = [ 0 1 2 3 4 5 6 ]
n +1 = 4
k = 3
CurvesB-Splines
13
2,13
2
2,3,
)()()()()(
++
++
+ −−
+−
−=
ii
ii
ii
iii xx
tNtx
xx
tNxttN
For k=3, n+1 = 4
Cox-de Boor Recursive Formula
Uniform (Periodic)
CurvesB-Splines
23
1,23
!2
1,11
12
1,12
1
1,
13
2,13
2
2,
3,
)()()()()()()()(
)()()()(
)(
++
++
++
++
++
++
+
++
++
+
−−
−−
−−
−−
−−
−−
ii
ii
ii
ii
ii
ii
ii
ii
ii
ii
ii
ii
i
xx
tNtx
xx
tNxt
xx
tNtx
xx
tNxt
xx
tNtx
xx
tNxt
tN
Uniform (Periodic)
CurvesB-Splines
Uniform (Periodic)
0 1 2 3 4 5 6
1N11 N21 N31 N41 N51 N61
CurvesB-Splines
Uniform (Periodic)
0 1 2 3 4 5 6
1 N52N12 N32N22 N42
CurvesB-Splines
Uniform (Periodic)
0 1 2 3 4 5 6
1N52N12 N32N22
CurvesB-Splines
Uniform (Periodic)
0 1 2 3 4 5 6
1N52N12 N32N22
CurvesB-Splines
Open knot vector
1kni2n2 knx1ni1k kix
kx1 x
i
i
ii
++≤≤++−=+≤≤+−=
≤≤= 0
[ ]
k k
CurvesB-Splines
Open knot vector
When k=n+1 Bezier Curveif n+1 = 4 = k knot vector = [0 0 0 0 1 1 1 1]
33
34,4
32
24,3
31
24,2
30
34,1
)(
)1(3)(
)1(3)(
)1()(
JttN
JtttN
JtttN
JttN
==
=−=
=−=
=−=
t 10
130J
31J 3
2J
33J
Recommended