Sie sind auf Seite 1von 29

Curves

B-Splines

Bezier Curve

There is no local control (change of one control


point affects the whole curve)

Degree of curve is fixed by the number of


control points
Curves
B-Splines

Each control point is associated with a unique


basis function

Each point affects the shape of the curve over


a range of parameter values where the basis
function is non-zero
local control
Curves
B-Splines

B1 Q0:B0 B1 B2 B3
B3 Q1:B1 B2 B3 B4
Q0 x x2
1 Q2 x3 Parameter t is defined as
x0 xi<t<xi+1
Q1
x0 x1 x2 x3: Knot values
B0 B2 (knot vector)

Control Point
Knot Point
Curves
B-Splines

Polynomial spline function of order k (degree k-1)

n +1 tmin t tmax
P (t ) = Bi Ni ,k (t )
i =1 2 k n +1

Bi : Control point
Nik : Basis function
Curves
B-Splines
Cox-de Boor Recursive Formula

1 x i t < x i +1
Ni ,1(t ) =
0 otherwise

(t x i )Ni ,k 1(t ) ( x i + k t )Ni +1,k 1(t )


Ni ,k (t ) = +
x i +k 1 x i x i +k x i +1

xis are the knot values xi<xi+1


Curves
B-Splines
Properties
Partition of Unity
n +1
Ni ,k (t ) = 1, Ni ,k 0
i =1
Covex hull property
Curves
B-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
Curves
B-Splines
Convex hull property

K=2
Curves
B-Splines
Convex hull property
K=3
Curves
B-Splines
Convex hull property
K=3
Curves
B-Splines
Convex hull property
K=3
Curves
B-Splines
Convex hull property
K=3
Curves
B-Splines
Convex hull property

K=8
Curves
B-Splines
Convex hull property

K=8
Curves
B-Splines
Cox-de Boor Recursive Formula

1 x i t < x i +1
Ni ,1(t ) =
0 otherwise

(t x i )Ni ,k 1(t ) ( x i + k t )Ni +1,k 1(t )


Ni ,k (t ) = +
x i +k 1 x i x i +k x i +1

xis are the knot values xi<xi+1


Curves
B-Splines

Total knot values = n + 1 + k


Nik has non zero value for x i x i +k span

Example N 1, 3 L N 4, 3
n+1 = 4, k = 3
x1 x 4 x4 x7
knot vector [x1 x2 x7]
Curves
B-Splines

Knot vector X can be:

Uniform (periodic)
Open-Uniform
Non-Uniform
Curves
B-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 ]
Curves
B-Splines

Open
Has multiplicity of knot values at ends equal to
the order k of the B-Spline basis function. Internal Knot
values 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 ]
Curves
B-Splines

Non-Uniform
Unequal internal spacing and/or multiple internal
knot(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]
Curves
B-Splines

Uniform (Periodic)
Uniform Knot vectors yields periodic uniform
basis functions
Ni,k(t) = Ni-1,k(t-1) = Ni+1,k(t+1)

1 N1,3 N2,3 N3,3 N4,3 X=[0 1 2 3 4 5 6]


n +1 = 4
k=3
0 1 2 3 4 5 6
Curves
B-Splines

Uniform (Periodic)
For k=3, n+1 = 4
Cox-de Boor Recursive Formula

(t x i )Ni ,2 (t ) ( xi +3 t )Ni +1,2 (t )


Ni ,3 (t ) = +
xi +2 xi xi +3 xi +1
Curves
B-Splines

Uniform (Periodic)

Ni ,3 (t )

(t xi )Ni ,2 (t ) ( xi +3 t )Ni +1,2 (t )


xi +2 xi x i +3 xi +1

(t x i )Ni ,1(t ) ( x i + 2 t )Ni +1,1(t ) (t x i +1 )Ni +1,1(t ) ( xi +3 t )Ni +2,1(t )


xi +1 xi xi +2 x i +1 xi +2 xi +! x i +3 x i + 2
Curves
B-Splines

Uniform (Periodic)

N11 N21 N31 N41 N51 N61


1

0 1 2 3 4 5 6
Curves
B-Splines

Uniform (Periodic)

N12 N22 N32 N42 N52


1

0 1 2 3 4 5 6
Curves
B-Splines

Uniform (Periodic)

N12 N22 N32 N52


1

0 1 2 3 4 5 6
Curves
B-Splines

Uniform (Periodic)

N12 N22 N32 N52


1

0 1 2 3 4 5 6
Curves
B-Splines

Open knot vector

xi = 0 1 xi k
xi = i k k +1 i n +1
xi = n k + 2 n + 2 i n + k +1

[ ]
k k
Curves
B-Splines

Open knot vector


When k=n+1 Bezier Curve
if n+1 = 4 = k knot vector = [0 0 0 0 1 1 1 1]
1
N1,4 (t ) = (1 t ) = J0
3 3
J 03 J 33
N2,4 (t ) = 3t (1 t )2 = J13 J13 J 23
N3,4 (t ) = 3t 2 (1 t ) = J 23
N4,4 (t ) = t 3 = J33
0 t 1

Das könnte Ihnen auch gefallen