Download presentation
Presentation is loading. Please wait.
Published byAnabel Wade Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.