1.06k likes | 1.29k Vues
Blossoming and B-splines. Dr. Scott Schaefer. 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 )
E N D
Blossoming and B-splines Dr. Scott Schaefer
Blossoms/Polar Forms • A blossomb(t1,t2,…,tn) of a polynomial p(t) is a multivariate function with the properties: • Symmetry: b(t1,t2,…,tn) = b(tm(1),tm(2),…,tm(n)) for any permutation m of (1,2,…,n) • Multi-affine: b(t1,t2,…,(1-u)tk+uwk,,…tn) = (1-u)b(t1,t2,…,tk,,…tn) + ub(t1,t2,…,wk,,…tn) • Diagonal: b(t,t,…,t) = p(t)
Blossoms/Polar Forms • A blossomb(t1,t2,…,tn) of a polynomial p(t) is a multivariate function with the properties: • Symmetry: b(t1,t2,…,tn) = b(tm(1),tm(2),…,tm(n)) for any permutation m of (1,2,…,n) • Multi-affine: b(t1,t2,…,(1-u)tk+uwk,,…tn) = (1-u)b(t1,t2,…,tk,,…tn) + ub(t1,t2,…,wk,,…tn) • Diagonal: b(t,t,…,t) = p(t) The blossom always exists and is unique!!!
Blossoms/Polar Forms • Symmetry: b(t1,…,tn) = b(tm(1),…,tm(n)) • Multi-affine: b(t1,…,(1-u)tk+uwk,,…tn) = (1-u)b(t1,…,tk,,…tn) + ub(t1,…,wk,,…tn) • Diagonal: b(t,…,t) = p(t)
Pyramid Algorithms forBezier Curves Bezier curve Bezier control points
Subdivision Using Blossoming Control points of left Bezier curve!
Subdivision Using Blossoming Control points of right Bezier curve!
Change of Basis Using Blossoming • Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve
Change of Basis Using Blossoming • Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve
Change of Basis Using Blossoming • Example: Find Bezier coefficients of p(t)=1+2t+3t2-t3 Old Method
Change of Basis Using Blossoming • Example: Find Bezier coefficients of p(t)=1+2t+3t2-t3 New Method
Degree Elevation Using Blossoming • Symmetry: is symmetric • Multi-affine: is multi-affine • Diagonal:
Homogeneous Polynomials and Blossoming • Polynomial: • Homogeneous Polynomial:
The Homogeneous Blossom • Homogenize each parameter of the blossom independently
The Homogeneous Blossom • Homogenize each parameter of the blossom independently
The Homogeneous Blossom • Homogenize each parameter of the blossom independently homogenized combinations
The Homogeneous Blossom • Homogenize each parameter of the blossom independently
The Homogeneous Blossom • Homogenize each parameter of the blossom independently
Homogeneous deCasteljau Algorithm Really b((0,1),(0,1),(1,1))
Homogeneous deCasteljau Algorithm Homogeneous blossom evaluated at (t,1) and (1,0) yields derivatives!!!
Problems with Bezier Curves • More control points means higher degree • Moving one control point affects the entire curve
Problems with Bezier Curves • More control points means higher degree • Moving one control point affects the entire curve
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 Ck continuity!!!
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 Ck continuity!!! Difficult to keep track of all the constraints.
B-spline Curves • Not a single polynomial, but lots of polynomials that meet together smoothly • Local control
B-spline Curves • Not a single polynomial, but lots of polynomials that meet together smoothly • Local control
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
B-spline Curves • Curve defined over a set of parameters t0,…,tk (titi+1) with a polynomial of degree n in each interval [ti, ti+1] that meet with Cn-1 continuity • ti do not have to be evenly spaced • Commonly called NURBS • Non-Uniform Rational B-Splines