Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function.

Similar presentations


Presentation on theme: "1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function."— Presentation transcript:

1 1 Dr. Scott Schaefer Blossoming and B-splines

2 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function with the properties:  Symmetry: b(t 1,t 2,…,t n ) = b(t m(1),t m(2),…,t m(n) ) for any permutation m of (1,2,…,n)  Multi-affine: b(t 1,t 2,…,(1-u)t k +u w k,,…t n ) = (1-u)b(t 1,t 2,…,t k,,…t n ) + u b(t 1,t 2,…,w k,,…t n )  Diagonal: b(t,t,…,t) = p(t)

3 3/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function with the properties:  Symmetry: b(t 1,t 2,…,t n ) = b(t m(1),t m(2),…,t m(n) ) for any permutation m of (1,2,…,n)  Multi-affine: b(t 1,t 2,…,(1-u)t k +u w k,,…t n ) = (1-u)b(t 1,t 2,…,t k,,…t n ) + u b(t 1,t 2,…,w k,,…t n )  Diagonal: b(t,t,…,t) = p(t) The blossom always exists and is unique!!!

4 4/105 Examples of Blossoms

5 5/105 Examples of Blossoms

6 6/105 Examples of Blossoms

7 7/105 Examples of Blossoms

8 8/105 Examples of Blossoms

9 9/105 Examples of Blossoms

10 10/105 Examples of Blossoms

11 11/105 Examples of Blossoms

12 12/105 Examples of Blossoms

13 13/105 Examples of Blossoms

14 14/105 Examples of Blossoms

15 15/105 Examples of Blossoms

16 16/105 Examples of Blossoms

17 17/105 Examples of Blossoms

18 18/105 Blossoms/Polar Forms Symmetry: b(t 1,…,t n ) = b(t m(1),…,t m(n) ) Multi-affine: b(t 1,…,(1-u)t k +u w k,,…t n ) = (1-u)b(t 1,…,t k,,…t n ) + u b(t 1,…,w k,,…t n ) Diagonal: b(t,…,t) = p(t)

19 19/105 Pyramid Algorithms for Bezier Curves

20 20/105 Pyramid Algorithms for Bezier Curves

21 21/105 Pyramid Algorithms for Bezier Curves Bezier curve Bezier control points

22 22/105 Subdivision Using Blossoming Control points of left Bezier curve!

23 23/105 Subdivision Using Blossoming Control points of right Bezier curve!

24 24/105 Change of Basis Using Blossoming Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve

25 25/105 Change of Basis Using Blossoming Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve

26 26/105 Change of Basis Using Blossoming Example: Find Bezier coefficients of p(t)=1+2t+3t 2 -t 3 Old Method

27 27/105 Change of Basis Using Blossoming Example: Find Bezier coefficients of p(t)=1+2t+3t 2 -t 3 New Method

28 28/105 Degree Elevation

29 29/105 Degree Elevation Using Blossoming

30 30/105 Degree Elevation Using Blossoming Symmetry: is symmetric Multi-affine: is multi-affine Diagonal:

31 31/105 Degree Elevation Using Blossoming

32 32/105 Homogeneous Polynomials and Blossoming Polynomial: Homogeneous Polynomial:

33 33/105 The Homogeneous Blossom Homogenize each parameter of the blossom independently

34 34/105 The Homogeneous Blossom Homogenize each parameter of the blossom independently

35 35/105 The Homogeneous Blossom Homogenize each parameter of the blossom independently homogenized combinations

36 36/105 The Homogeneous Blossom Homogenize each parameter of the blossom independently

37 37/105 The Homogeneous Blossom Homogenize each parameter of the blossom independently

38 38/105 Homogeneous deCasteljau Algorithm Really b((0,1),(0,1),(1,1))

39 39/105 Homogeneous deCasteljau Algorithm

40 40/105 Homogeneous deCasteljau Algorithm

41 41/105 Homogeneous deCasteljau Algorithm Homogeneous blossom evaluated at (t,1) and (1,0) yields derivatives!!!

42 42/105 Homogeneous Blossoms and Derivatives

43 43/105 Problems with Bezier Curves More control points means higher degree Moving one control point affects the entire curve

44 44/105 Problems with Bezier Curves More control points means higher degree Moving one control point affects the entire curve

45 45/105 Problems with Bezier Curves More control points means higher degree Moving one control point affects the entire curve Solution: Use lots of Bezier curves and maintain C k continuity!!!

46 46/105 Problems with Bezier Curves More control points means higher degree Moving one control point affects the entire curve Solution: Use lots of Bezier curves and maintain C k continuity!!! Difficult to keep track of all the constraints. 

47 47/105 B-spline Curves Not a single polynomial, but lots of polynomials that meet together smoothly Local control

48 48/105 B-spline Curves Not a single polynomial, but lots of polynomials that meet together smoothly Local control

49 49/105 History of B-splines Designed to create smooth curves Similar to physical process of bending wood Early Work  de Casteljau at Citroen  Bezier at Renault  de Boor at General Motors

50 50/105 B-spline Curves Curve defined over a set of parameters t 0,…,t k (t i t i+1 ) with a polynomial of degree n in each interval [t i, t i+1 ] that meet with C n-1 continuity t i do not have to be evenly spaced Commonly called NURBS  Non-Uniform Rational B-Splines

51 51/105 B-Spline Basis Functions

52 52/105 B-Spline Basis Functions

53 53/105 B-Spline Basis Functions

54 54/105 B-Spline Basis Functions

55 55/105 B-Spline Basis Functions

56 56/105 B-Spline Basis Functions

57 57/105 B-Spline Basis Functions

58 58/105 B-Spline Curves

59 59/105 B-Splines Via Blossoming

60 60/105 B-Splines Via Blossoming

61 61/105 B-Splines Via Blossoming Single polynomial

62 62/105 B-Splines Via Blossoming

63 63/105 B-Splines Via Blossoming

64 64/105 B-Splines Via Blossoming

65 65/105 B-Splines Via Blossoming

66 66/105 B-Splines Via Blossoming

67 67/105 B-Splines Via Blossoming n-1 derivatives are equal yielding C n-1 continuity!!!

68 68/105 B-Splines Via Blossoming

69 69/105 B-Splines Via Blossoming n-2 derivatives are equal yielding C n-2 continuity at doubled knot!!!

70 70/105 B-Splines Via Blossoming In general, curves have C n-u continuity at knot of multiplicity u

71 71/105 Conversion to Bezier Form

72 72/105 Conversion to Bezier Form

73 73/105 Conversion to Bezier Form

74 74/105 Polynomial Reproduction Given a polynomial p(t) and a set of knots t 1, t 2, t 3, …, find control points for the b-spline curve that produces p(t)

75 75/105 Polynomial Reproduction Given a polynomial p(t) and a set of knots t 1, t 2, t 3, …, find control points for the b-spline curve that produces p(t)

76 76/105 Polynomial Reproduction Given a polynomial p(t) and a set of knots t 1, t 2, t 3, …, find control points for the b-spline curve that produces p(t)

77 77/105 Polynomial Reproduction Given a polynomial p(t) and a set of knots t 1, t 2, t 3, …, find control points for the b-spline curve that produces p(t) Control points!!!

78 78/105 Knot Insertion Given a B-spline curve with knot sequence …, t k-2, t k-1, t k, t k+1, t k+2, t k+3, … generate the control points for an identical B-spline curve over the knot sequence …, t k-2, t k-1, t k, u, t k+1, t k+2, t k+3, …

79 79/105 Boehm’s Knot Insertion Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u, t 4, t 5, t 6

80 80/105 Boehm’s Knot Insertion Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u, t 4, t 5, t 6

81 81/105 Boehm’s Knot Insertion Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u, u, t 4, t 5, t 6

82 82/105 The Oslo Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u 1, u 2, u 3, u 4, t 4, t 5, t 6

83 83/105 The Oslo Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u 1, u 2, u 3, u 4, t 4, t 5, t 6

84 84/105 The Oslo Algorithm Given curve with knots t 1, t 2, t 3, t 4, t 5, t 6, find curve with knots t 1, t 2, t 3, u 1, u 2, u 3, u 4, t 4, t 5, t 6

85 85/105 Degree Elevation for B-splines Degree n B-splines meet with C n-1 continuity Degree n+1 B-splines meet with C n continuity Must double knots to maintain same degree of continuity!!!

86 86/105 Subdivision for Non-Uniform B-splines Given a knot sequence t 1, t 2, t 3, t 4, …, insert knots u 1, u 2, u 3, u 4, … such that t i u i t i+1

87 87/105 Subdivision for Non-Uniform B-splines Given a knot sequence t 1, t 2, t 3, t 4, …, insert knots u 1, u 2, u 3, u 4, … such that t i u i t i+1 Double control points At level 0<k<n+1, insert knots u k-1, u k, u k, u k+1, u k+1, … into pyramid

88 88/105 Schaefer’s Algorithm

89 89/105 Schaefer’s Algorithm

90 90/105 Schaefer’s Algorithm

91 91/105 Schaefer’s Algorithm

92 92/105 Schaefer’s Algorithm

93 93/105 Schaefer’s Algorithm

94 94/105 B-spline Properties Piecewise polynomial C n-u continuity at knots of multiplicity u Compact support Non-negativity implies local convex hull property Variation Diminishing

95 95/105 B-spline Curve Example

96 96/105 B-spline Curve Example

97 97/105 B-spline Curve Example

98 98/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically?

99 99/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically?

100 100/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Uniform parameterization

101 101/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Centripetal parameterization

102 102/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Chord length parameterization

103 103/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Uniform parameterization

104 104/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Centripetal parameterization

105 105/105 Choosing Knot Values B-splines dependent on choice of knots t i Can we choose t i automatically? Chord length parameterization


Download ppt "1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function."

Similar presentations


Ads by Google