Download presentation

Presentation is loading. Please wait.

1
**Splines IV – B-spline Curves**

based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3rd ed. (Shirley & Marschner) Slides by Marc van Kreveld

2
**Interpolation vs. approximation**

Interpolation means passing through given points, approximation means getting “close” to given points Bézier curves and B-spline curves p2 p2 p1 p1 p0 p3 p0 p3 p1 and p2 are interpolated p1 and p2 are approximated

3
**B-spline curves Approximates all control points**

Polynomials of any degree d C d-1 continuous everywhere

4
**B-spline curves A linear combination of the control points**

The bi(t) are the basis functions and show how to blend the points The basis functions are splines themselves B-splines B-splines stands for basis splines the contribution of point pi to the curve depending on the parameter value t bi(t) t

5
**B-splines and B-spline curves**

pi-1 pi pi+1 t’ bi-1(t) bi(t) bi+1(t) 0.15 0.55 0.3 t

6
**B-splines and B-spline curves**

pi-1 pi bi-1(t’)=0.15 bi(t’)=0.55 pi+1 bi-1(t) bi(t) bi+1(t) 0.15 0.55 0.3 bi+1(t’)=0.3 t t’

7
**B-splines and B-spline curves**

pi-1 pi pi+1 bi-1(t) bi(t) bi+1(t) 0.15 0.55 0.3 the blended point determined by pi-1, pi , pi+1 and their basis functions t t’

8
**B-spline curves A B-spline curve of n points and parameter value k**

is C k-2 continuous is made of polynomials of degree k – 1 has local control: any location on the curve is determined by only k control points is bounded by the convex hull of the control points has the variation diminishing property (any line intersects the B-spline curve at most as often as that line intersects the control polygon)

9
**Types of B-splines Uniform linear B-splines**

Uniform quadratic B-splines Uniform cubic B-splines Non-uniform B-splines NURBS (non-uniform rational B-splines) To define the B-splines is to define the B-spline curve

10
**Uniform linear B-splines**

Basis functions are piecewise linear, for example: i t i+1 i +1 t i +2 otherwise 1 b1,2(t) The 2 in the subscript of the b-function denotes the parameter = degree +1 1 2 3 4 5 knots

11
**Uniform linear B-splines**

1 b1,2(t) 1 2 3 4 5 1 b2,2(t) Three B-splines, each with 3 knots, 5 knots in total 1 2 3 4 5 1 b3,2(t) 1 2 3 4 5

12
**Uniform linear B-splines**

Basis functions are piecewise linear, for example: The B-spline curve can be used for parameter values t [2, n+1] (the t where the bi,2(t) sum up to 1), given points p1, p2, …, pn The B-spline curve is just the polygonal line through the control points; only two B-splines are non-zero for any t i t i +1 i +1 t i +2 otherwise The 2 in the subscript of the b-function denotes the parameter = degree +1

13
**Uniform linear B-splines**

Each B-spline has 3 knots and they are uniformly spaced They are shifted copies of each other In total there are n+2 knots (at 1, 2, …, n+2) 1 b1,2(t) 1 2 3 4 5 1 b2,2(t) 1 2 3 4 5 1 b3,2(t) 1 2 3 4 5

14
**Uniform quadratic B-splines**

Uniform quadratic B-splines bi,3(t) have knots at i, i+1, i+2, and i+3 They are shifted copies of each other 1 b1,3(t) 1 2 3 4 5 t

15
**Uniform quadratic B-splines**

if t [i, i+1] u = t – i if t [i+1, i+2] u = t – (i+1) if t [i+2, i+3] u = t – (i+2) otherwise u is set to be in [0,1] for the t-range 1 b1,3(t) 0.5 1 2 3 4 5 t

16
**Quadratic B-spline curve**

knot p6 p3 p5 p2 p5p6p7 p2p3p4 p1p2p3 p4p5p6 p3p4p5 p1 p7 p4 control points defining this piece of curve between the knots

17
**Uniform quadratic B-splines**

At the 4 knots, the left and right derivatives are equal C1 continuous B-splines C1 continuous B-spline curve 1 b2,3(t) 0.5 1 2 3 4 5 t – 0.5 b’2,3(t) (derivative) – 1

18
**Uniform quadratic B-splines**

At the 4 knots, the left and right derivatives are equal C1 continuous B-splines C1 continuous B-spline curve Starting at t = 3, the B-splines sum up to exactly 1 Why is it important that the B-splines sum up to 1? b2,3(t) b3,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 t

19
**Uniform quadratic B-splines**

Suppose n control points Then n B-splines and n+3 knots The B-spline curve has n – 2 quadratic pieces, starting at the 3rd knot and ending at the n+1st knot

20
**Uniform quadratic B-splines**

What is the starting point and what is the ending point of the uniform quadratic B-spline curve using control points p1, p2, …, pn ? Go back two slides and look at the B-splines. The curve starts at the knot at t=3. Here the first and second B-spline both have value 0.5 and all other B-splines are 0, so the midpoint of p_1 and p_2 is the starting point of the B-spline curve.

21
**Uniform cubic B-splines**

Uniform cubic B-splines bi,4(t) have knots at i, i+1, i+2, i+3 and i+4 They are shifted copies of each other 1 b1,4(t) 2/3 0.5 1 2 3 4 5 6 t

22
**Uniform cubic B-splines**

if t [i, i+1] u = t – i if t [i+1, i+2] u = t – (i+1) if t [i+2, i+3] u = t – (i+2) if t [i+3, i+4] u = t – (i+3) otherwise 1 b1,4(t) 2/3 0.5 1 2 3 4 5 6 t

23
**Uniform cubic B-splines**

Every location on the B-spline curve is determined by four control points and their B-splines Starting at the 4th knot, t = 4, the B-spline curve can be used because the B-splines sum up to 1 A cubic B-spline is C2 continuous (the 1st and 2nd derivatives from the left and right are the same at the knots) a cubic B-spline curve is C2 continuous

24
**Uniform cubic B-splines**

At what height are the second and fourth knots of a cubic B-spline? What weight of what control points determines the first point of a B-spline curve?

25
**Closed uniform B-spline curves**

Simply repeat the first k – 1 points as the last points quadratic: p1, p2, …, pn p1, p2, …, pn, p1, p2 cubic: p1, p2, p3, …, pn p1, p2, …, pn, p1, p2, p3

26
**Non-uniform B-splines**

Uniform B-splines have knots at 1, 2, 3, …, but generally knots can have any value non-uniform B-splines The knot vector t = [t1, … , tn+k] is a sequence of non-decreasing values specifying where the knots for the parameter range t occur

27
**Non-uniform B-splines**

We can repeat control points and combine the consecutive B-splines into one allows more local control We can repeat knots and adapt the B-splines affected allows more local control When we have a sequence of control points and a useful parameter range k, ..., n+1, we may want to insert an extra point (and knot) in the middle without changing the parameter range near the ends

28
**Cox-de Boor recurrence**

Cox-de Boor recurrence for defining B-splines with parameter k and knot vector t = [t1, … , tn+k]: if ti t < ti+1 otherwise Note the definition of b at the end of the recurrence: this is a piecewise constant B-spline that is not even C0 continuous. The B-spline curve is not a proper curve, because it jumps from control point to control point at the knots. It is just a sequence of points with a parameterization at which point we are. The recurrence allows evaluation at any t value for non-uniform B-splines. The recurrence shows that parameter k B-splines are a weighted interpolation of parameter k – 1 B-splines, with weights linearly dependent on t

29
**Repeating control points in B-spline curves**

Consider quadratic B-spline curves, in the figure: Five B-splines of control points 5+3 = 8 knots (t = 1, 2, ..., 8), useful in interval [3, 6] p2 p3 p4 p5 p1 b2,3(t) b3,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 6 7 8 t

30
**Repeating control points in B-spline curves**

Consider quadratic B-spline curves, in the figure: Suppose p1 is repeated 9 knots, useful interval [3, 7] p1 p2 p3 p4 p5 p1 b’1,3(t) b2,3(t) b3,3(t) b4,3(t) b5,3(t) 1 Since b_{1,3} and b_{2,3} are coefficients of the same point p1, we can add up their functions b1,3(t) 0.5 1 2 3 4 5 6 7 8 9 t

31
**Repeating control points in B-spline curves**

Consider quadratic B-spline curves, in the figure: Suppose p1 is repeated 9 knots, useful interval [3, 7] The B-spline curve starts at p1 at knot 3 p2 p3 p4 p5 b1,3(t) b’1,3(t) + b2,3(t) b3,3(t) b4,3(t) b5,3(t) 1 Since b_{1,3} and b_{2,3} are coefficients of the same point p1, we can add up their functions p1 0.5 1 2 3 4 5 6 7 8 9 t

32
**Repeating control points in B-spline curves**

Consider quadratic B-spline curves, in the figure: Suppose p3 is repeated 9 knots, useful interval [3, 7] p3 p3 p2 p4 p5 p1 b3,3(t) b’3,3(t) b2,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 6 7 8 9 t

33
**Repeating control points in B-spline curves**

Consider quadratic B-spline curves, in the figure: Suppose p3 is repeated 9 knots, useful interval [3, 7] The B-spline curve passes through point p3 p3 p2 p4 p5 b3,3(t) + b’3,3(t) p1 b2,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 6 7 8 9 t

34
**Repeating control points in B-spline curves**

For a B-spline curve with parameter k (degree k – 1), it will pass through the first and last control points if each occurs k – 1 times Similarly, we can make it pass through an intermediate control point by having k – 1 copies of that control point The level of geometric continuity, G, at an intermediate repeated control point decreases

35
**Repeating control points in B-spline curves**

On the parameter interval [4,5], only p2 and p3 have a non-zero B-spline the curve is a line segment! Also on parameter interval [5,6] p3 p2 p4 p5 b3,3(t) + b’3,3(t) p1 b2,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 6 7 8 9 t

36
**Repeating control points in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 p3p4p5 knot 3 p1 p7 p4 quadratic B-spline curve

37
**Repeating control points in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 knot 3 p1 p3p4 p4p5 p7 p4 repeated control point p4 quadratic B-spline curve with repeated control point

38
**Repeating control points in B-spline curves**

The quadratic B-spline curve remains C1 although it is only G0 at the repeated control point p3 p2 p4 p5 b3,3(t) + b’3,3(t) p1 b2,3(t) b4,3(t) b5,3(t) 1 All B-splines remain C1 so the B-spline curve remains C1 as well. However, the speed along the B-spline curve reduces to 0 in the double control point b1,3(t) 0.5 1 2 3 4 5 6 7 8 9 t

39
**Repeating control points in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 knot 3 p1 p3p4 p4p5 p7 p4 repeated control point p4 quadratic B-spline curve with repeated control point

40
**Repeating knots in B-spline curves**

Repeating a knot means that one sequence of control points no longer occurs For example, for quadratic B-spline curves, the part between knots 4 and 5 (was based on points p2 p3 p4 ) The curve part before (based on points p1 p2 p3 ) directly connects to the curve part after (based on points p3 p4 p5 ) The B-splines get different shapes to accommodate the missing part

41
**Repeating knots in B-spline curves**

Repeating a knot means that one sequence of control points no longer occurs For example, for quadratic B-spline curves, the part between knots 4 and 5 (was based on points p2 p3 p4 ) b2,3(t) b3,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 5 6 7 8 t

42
**Repeating knots in B-spline curves**

Repeating a knot means that one sequence of control points no longer occurs For example, for quadratic B-spline curves, the part between knots 4 and 5 (was based on points p2 p3 p4 ) b3,3(t) b2,3(t) b4,3(t) b5,3(t) 1 b1,3(t) 0.5 1 2 3 4 = 5 6 7 8 t

43
**Repeating knots in B-spline curves**

Repeating a knot means that one sequence of control points no longer occurs For example, for quadratic B-spline curves, the part between knots 4 and 5 (was based on points p2 p3 p4 ) b3,3(t) Since p1, p2, p3 have only one point in common with p3, p4, p5, the degree of continuity goes down. In particular, the B-spline b_{3,3}(t) is C0 where it passes through point p3 (at the double knot). Hence the B-spline curve is only C0 as well. b2,3(t) 1 b4,3(t) b1,3(t) b5,3(t) 0.5 1 2 3 6 7 8 4 5 t

44
**Repeating knots in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 p3p4p5 knot 3 repeat knot 5 p1 p7 p4 quadratic B-spline curve

45
**Repeating knots in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 knot 3 p1 p7 p4 knot 5 = 6 quadratic B-spline curve with repeated knot

46
**Repeating knots in B-spline curves**

Repeating a control point creates line segments on either side, but repeating a knot does not have this effect on quadratic B-spline curves Repeating a knot twice (three same knots in a sequence) creates a discontinuity in a quadratic B-spline curve Two consecutive curve parts have no point in common The curve part before the two disappearing parts (e.g., based on points p1 p2 p3 ) is disconnected from the curve part after those parts (based on points p4 p5 p6 )

47
**Repeating knots in B-spline curves**

p5p6p7 p4p5p6 p1p2p3 p2p3p4 p3p4p5 knot 3 repeat knot 5 twice p1 Note: there is no longer a curve part defined by any same point: p2,p3,p4 and p5,p6,p7 have no point in common p7 p4 quadratic B-spline curve

48
**Repeating knots in B-spline curves**

p5p6p7 p1p2p3 p2p3p4 knot 3 p1 Note: there is no longer a curve part defined by any same point: p2,p3,p4 and p5,p6,p7 have no point in common p7 p4 knot 5 = 6 = 7 quadratic B-spline curve

49
**Repeating knots in B-spline curves**

In cubic B-spline curves a double knot gives C1 and G1 continuity a triple knot gives C0 and G0 continuity a quadruple knot disconnects the curve a triple knot at the start lets p1 be the start of the curve a triple knot at the end lets pn be the end of the curve

50
**Repeating knots in B-spline curves**

For cubic B-spline curves: a double knot gives C1 continuity a triple knot gives C0 continuity C2 continuity exists because the speed along the curve essentially becomes 0 at a triple control point, so the sharp turn happens at 0 speed which can have any C-continuity in the parameter

51
**Repeating knots in B-spline curves**

Cubic B-splines for a B-spline curve passing through its endpoints, knot vector [1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8] The first three and last three B-splines are different from the standard cubic B-spline shape

52
**Repeating knots in B-spline curves**

The expressions for B-splines can be determined for any parameter k and knot vector t = [t1, … , tn+k] using the Cox-de Boor recurrence (also when knots are repeated): if ti t < ti+1 otherwise

53
Summary B-spline curves are defined by B-splines and provide great flexibility in curve design They exist of any order (degree) and continuity Repeating control points or knots allows interpolation instead of approximation B-spline surfaces are a direct generalization Even more general are NURBS: Non-Uniform Rational B-Splines defined using ratios of two polynomials allow conic sections (circles, ellipses, hyperbolas)

Similar presentations

OK

1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.

1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Mp ppt online registration 2014 Ppt on force and friction for class 8 Ppt on obesity prevention programs Slides for ppt on pollution of air Ppt on polynomials for class 9 download Ppt on fdi in india download Ppt on chapter 3 atoms and molecules Ppt on machine translation definition Ppt on single phase and three phase dual converter travel Ppt on landing gear system of an aircraft