+ All Categories
Home > Documents > Curves: B-splines Part 1

Curves: B-splines Part 1

Date post: 11-Feb-2022
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
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
Transcript
Page 1: Curves: B-splines Part 1

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

Page 2: Curves: B-splines Part 1

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

Page 3: Curves: B-splines Part 1

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)

Page 4: Curves: B-splines Part 1

CurvesB-Splines

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

12)()( maxmin

1

1, +≤≤

≤≤= ∑

+

= nkttt

tNBtPn

ikii

Bi : Control pointNik : Basis function

Page 5: Curves: B-splines Part 1

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

Page 6: Curves: B-splines Part 1

CurvesB-Splines

Properties• Partition of Unity

• Covex hull property

0,1)( ,

1

1, ≥=∑

+

=ki

n

iki NtN

Page 7: Curves: B-splines Part 1

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

Page 8: Curves: B-splines Part 1

CurvesB-Splines

Convex hull property

K=2

Page 9: Curves: B-splines Part 1

CurvesB-Splines

K=3

Convex hull property

Page 10: Curves: B-splines Part 1

CurvesB-Splines

K=3

Convex hull property

Page 11: Curves: B-splines Part 1

CurvesB-Splines

K=3

Convex hull property

Page 12: Curves: B-splines Part 1

CurvesB-Splines

K=3

Convex hull property

Page 13: Curves: B-splines Part 1

CurvesB-Splines

Convex hull property

K=8

Page 14: Curves: B-splines Part 1

CurvesB-Splines

Convex hull property

K=8

Page 15: Curves: B-splines Part 1

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

Page 16: Curves: B-splines Part 1

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 +→++=

Page 17: Curves: B-splines Part 1

CurvesB-Splines

Knot vector X can be:

Uniform (periodic)Open-UniformNon-Uniform

Page 18: Curves: B-splines Part 1

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 ]

Page 19: Curves: B-splines Part 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 ]

Page 20: Curves: B-splines Part 1

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 ]

Page 21: Curves: B-splines Part 1

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

Page 22: Curves: B-splines Part 1

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)

Page 23: Curves: B-splines Part 1

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)

Page 24: Curves: B-splines Part 1

CurvesB-Splines

Uniform (Periodic)

0 1 2 3 4 5 6

1N11 N21 N31 N41 N51 N61

Page 25: Curves: B-splines Part 1

CurvesB-Splines

Uniform (Periodic)

0 1 2 3 4 5 6

1 N52N12 N32N22 N42

Page 26: Curves: B-splines Part 1

CurvesB-Splines

Uniform (Periodic)

0 1 2 3 4 5 6

1N52N12 N32N22

Page 27: Curves: B-splines Part 1

CurvesB-Splines

Uniform (Periodic)

0 1 2 3 4 5 6

1N52N12 N32N22

Page 28: Curves: B-splines Part 1

CurvesB-Splines

Open knot vector

1kni2n2 knx1ni1k kix

kx1 x

i

i

ii

++≤≤++−=+≤≤+−=

≤≤= 0

[ ]

k k

Page 29: Curves: B-splines Part 1

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