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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend