blossoms
play

Blossoms Bezier Curve Construction Reminder Successive linear - PowerPoint PPT Presentation

Blossoms Bezier Curve Construction Reminder Successive linear interpolations at point t Each point can be found as a function of the parameter, t , and the control points, b i n n i t n b t = i ,n b i = i


  1. Blossoms

  2. Bezier Curve Construction Reminder ● Successive linear interpolations at point t ● Each point can be found as a function of the parameter, t , and the control points, b i n n  i  t n b  t = ∑  i ,n b i = ∑ i  1 − t  n − 1 b i ● i = 0 i = 0

  3. Changing parameters b 1 ● We can interpolate using a vector of values 1 [ t ] b 1 2 [ t ,t ] b 0 1 [ t ] ● b  t  b [ t 1, t 2 ... t n ] b 0 b 2 t = 0.5 b 0

  4. Changing parameters b 1 ● We can interpolate using a vector of values 1 [ t 1 ] b 1 2 [ t 1, t 2 ] b 0 1 [ t 1 ] 2 [ t 1, t 3 ] b 0 b 0 b 2 b  t  b [ t 1, t 2 ... t n ] t 1 ≈ 0.5 t 2 ≈ 0.25 t 3 ≈ 0.75 b 0 ● This is the polar form of function.

  5. Affect of changing Parameters ● Red: ; Green: b [ t ,t ] 2 ] b [ t ,t ● Can also fix one or more parameters

  6. Polar Representation ● For each parametric function univariate function, , there is a comparable multivariate n p  t  : ℝℝ function P [ t 0, t 1 ,t 2 ... t n ]= p  t  ● Instead of one parameter, we expand the function to have one parameter for each degree of freedom.

  7. Examples ● The polar form of a standard cubic polynomial is 2  a 3 t 3 p  t = a 0  a 1 t  a 2 t P [ t 1, t 2, t 3 ]= a 0  a 1 3  t 1  t 2  t 3  a 2 3  t 1 t 2  t 2 t 3  t 3 t 1  a 3 t 1 t 2 t 3 ● A bivariate quadratic function, in parametric and polar form, is 2  3xy  2y 2 x = x , y  , f  x = x F [ x 0, x 1 ]= x 0 x 1  3 2 x 0 y 1  3 2 x 1 y 0  2 y 0 y 1

  8. Blossoms ● A multivariate function represents the b [ t 1, t 2,. .. t n ] polar form of a polynomial function. ● This polar form function is known as a blossom

  9. Properties ● If t 0 = t 1 = ... = t n , then the function diverges to a standard parametric curve – Example, using the standard cubic P [ t ,t ,t ]= a 0  a 1 3  t  t  t  a 2 2  t 2  t 2  a 3 t 3 – 3  t 2  a 3 t 3 = p  t  a 0  a 1 t  a 2 t ● This is the definition of the polar form of a function.

  10. Properties (Cont.) ● Symmetric b [ s ,t ]= b [ t , s ] – Proof is Menalaos' Theorem ● Affine b [ r  s ,t ]= b [ r ,t ] b [ s ,t ] , = 1 ● Both these properties can be extended to n degrees of freedom

  11. Menelaos' Theorem ● We can define the following points b [ 0, t ]= 1 − t  b 0  t b 1 ● b [ s , 0 ]= 1 − s  b 0  sb 1 b [ 1, t ]= 1 − t  b 1  t b 2 b [ s , 1 ]= 1 − s  b 1  sb 2 We will see shortly why the parameter ● switching in the s terms is allowed

  12. Menelaos' Theorem (cont.) ● We further define 2 more points b [ s ,t ]= 1 − t  b [ s , 0 ] t b [ s , 1 ] b [ t , s ]= 1 − s  b [ 0, t ] sb [ 1, t ] ● Menalaos' theorem states: b [ s ,t ]= b [ t , s ]

  13. Menalaos' Theorem (Proof) ● b [ s ,t ]= 1 − t  b [ s , 0 ] tb [ s , 1 ]  1 − t  1 − s  b 0 [ 1 − t  s  t  1 − s ] b 1  stb 2   1 − s  b [ 0, t ] sb [ 1, t ]= b [ t , s ] ● Can switch the parameters (Symmetric) ● The extension to n degrees of freedom is trivial (leave some parameters untouched

  14. Multi-Affinity ● Blossoms are affine invariant with respect to the 1 st parameter. ● We then apply the property of symmetry to extend to other parameters.

  15. n-Degree Properties ● Symmetric b [ t 1, t 2, ... t n ]= b [ t 1, t 2, ... t n ] – denotes a permutation of the n  t 1, t 2, ... t n  arguments

  16. n-Degree Properties (Cont ● Multiaffinity b [ r  s  , *]= b [ r , *][ s , *] , = 1 – Example b [ t 1, t 2, t 3 ]= 1 − t 1  b [ 0, t 2, t 3 ] t 1 b [ 1, t 2, t 3 ]

  17. Properties (Cont) ● Diagonalization 〈 n 〉 ] t 1 = t 2. ... = t n = t , b [ t ,t , ... ,t ]= b [ t – ● One last property: Vector notation  – b [  b − a  , *]= b [ b , *]− b [ a , *] – Example, a = 0, b = 1, b − a = 1 b [  1, r , s ]= b [ 1, r , s ]− b [ 0, r , s ]

  18. Leibniz Formula ● When given a blossom argument of form 〈 n 〉  r  s  we get the following formula: n  i   i  n − i b [ r 〈 i 〉 , s n 〈 n 〉 ]= ∑ 〈 n − i 〉 ] b [ r  s  i = 0

  19. Leibniz Formula, Proof ● We prove via induction ● The initial case is trivial n = 1: b [ r  s ]= b [ r ] b [ s ]

  20. Leibniz Formula, Cont. ● Inductive step: n  i   i  n − i b [ r  s  ,r 〈 i 〉 , s n 〈 n  1 〉 = ∑ 〈 n − i 〉 ]= ...  r  s  i = 0 n  i   n  i   i  n − i b [ r 〈 i  1 〉 , s n  1 − i b [ r 〈 i 〉 , s n n ∑ 〈 n − i 〉 ] ∑ i  1  〈 n  1 − i 〉 ] i = 0 i = 0 ● We transform the indexes, and 〈 n  1 〉 = ...  r  s  n  1  i − 1   n  1  i   i  i  n  1 − i b [ r n  1 − i b [ r 〈 i 〉 , s n n ∑ 〈 n  1 − i 〉 ] ∑ 〈 i 〉 , s 〈 n  1 − i 〉 ] i = 0 i = 0

  21. Leibniz Formula, Conclusion  i  =  i − 1    i  n  1 n n ● We last use the recursion ● We combine the 2 summations, and conclude ● n  1  i   i  n  1 − i b [ r n  1 〈 n  1 〉 ]= ∑ 〈 i 〉 , s 〈 n  1 − i 〉 ] b [ r  s  i = 0

  22. Uses of Blossoms ● Remember the de Casteljau Algorithm. ● Given a control polygon b 0, b 1, ... b n t ∈[ 0,1 ] and , this interpolation results in: b 0, b 1, b 2, b 3 1, b 1 1, b 2 1 b 0 2, b 1 2 b 0 3 b 0

  23. ● Add new parameter for each interpolation b 0, b 1, b 2, b 3 1 [ t 1 ] , 1 [ t 1 ] , 1 [ t 1 ] b 0 b 1 b 2 2 [ t 1, t 2 ] , 2 [ t 1, t 2 ] b 0 b 1 3 [ t 1, t 2, t 3 ] b 0

  24. Evaluation ● To evaluate, we must first check special arguments [ t 1, t 2, t 3 ]=[ 0,0,0 ] ● b 0, b 1, b 2, b 3 b 0, b 1, b 2 b 0, b 1 b 0 b 0 = b [ 0,0,0 ] ● Can repeat for all control points: 〈 n − i 〉 , 1 〈 i 〉 ] b i = b [ 0

  25. Evaluation Cont ● We next evaluate at [ t 1, t 2, t 3 ]=[ 0,0, t ] b 0, b 1, b 2, b 3 b 0, b 1, b 2 b 0, b 1 1 b 0 1 = b [ 0,0, t ] b 0 ● We continue in the same manner to get b [ 0,0,0 ] , b [ 0,0,1 ] , b [ 0,1,1 ] , b [ 1,1,1 ] b [ 0,0, t ] , b [ 0, t , 1 ] , b [ t , 1,1 ] b [ 0, t ,t ] , b [ t ,t , 1 ] b [ t ,t ,t ]

  26. Bezier Curves with Blossoms ● We can now rewrite the recursion algorithm as 〈 n − r − i 〉 ,t 〈 r 〉 , 1 〈 i 〉 ]= ... b [ 0 〈 n − r − i  1 〉 ,t 〈 r − 1 〉 , 1 〈 n − r − i 〉 ,t 〈 r − 1 〉 , 1 〈 i 〉 ] t b [ 0 〈 i  1 〉 ]  1 − t  b [ 0 ● Using the blossom formulation, and the substitution t = 1 − t ⋅ 0  t ⋅ 1 We can now rewrite the Leibniz Formula n  i  t n i − i b [ 0 〈 n − i 〉 , 1 n 〈 n 〉 ]= ∑ 〈 i 〉 ]= ∑ i  1 − t  b [ t  i ,n ⋅ b i i = 0 i = 0

  27. Derivative of the Bezier Blossom Curve ● Tangent line is line connecting the last 2 interpolation points 〈 n − 1 〉 ,  〈 n − 1 〉 , 1 ]− b [ 0, t 〈 n − 1 〉 ] b '  t = n ⋅ b [ t 1 ]= n ⋅ b [ t

  28. Derivative, Proof ● We start with the following: – t is a point on the real line is a 1D vector  v n 〈 n − i 〉 ,  〈 n 〉 ]= ∑ 〈 i 〉 ] b [ t  v  b [ t v i = 0 d b ' 1 v ∣ [ b [ t  〈 n 〉 ] ] = ... 〈 n 〉 ]− b [ t dt = lim v  ∣ v  0  v ∣ [ ∑ 〈 n 〉 ] ] n  i  b [ t 1 〈 n − i 〉 ,  n 〈 i 〉 ]− b [ t lim v ∣ v   0 i = 0

  29. Proof, Cont. ● We cancel, rearrange, and factor, and: 0  n b [ t v ]  ...  v ∣ ]   2  b [ t d b ' v v 〈 n − 1 〉 ,  〈 n − 2 〉 ,  n dt = lim v ∣ ,  ∣ ∣ v    v v ∣= ● We observe that, 1 and that the limit ∣ annihilates the remaining terms, giving us 〈 n − 1 〉 ,  b ' = n b [ t 1 ]

  30. High Order Derivative ● Using a similar pattern and proof, we arrive at n 〈 n − r 〉 ,   r  = 〈 r 〉 ]  n − r  ! b [ t b 1

  31. Bezier Blossom Subdivision ● Subdivision of a bezier curve at t=c b [ 0,0,0 ] , b [ 0,0,1 ] , b [ 0,1,1 ] , b [ 1,1,1 ] b [ 0,0, c ] , b [ 0, c , 1 ] , b [ c , 1,1 ] b [ 0, c ,c ] , b [ c ,c , 1 ] b [ c ,c ,c ] 〈 n − i 〉 ,c 〈 i 〉 ] c i , f = b [ 0 〈 n − i 〉 , 1 〈 i 〉 ] c i ,b = b [ c

  32. Bezier Degree Raising ● The new control points can be found by n  1  1  = 1 n  1 ∑ b [ t 1,. .. t n  1 │t j ] b j = 0 ● This is the average of all the points, with the argument omitted from the sum t j

  33. Degree Raising Cont. ● Need Diagram of Example

  34. Blossoms and B-Splines ● The control points for a quadratic Bezier curve are b [0,0], b [0,1], and b [1,1]. – Successive pairs from the sequence: 0,0,1,1. ● We generalize 0,0,1,1  u 0, u 1, u 2, u 3

Recommend


More recommend