Computer Aided Geometric Design Class Exercise #13 Advanced Topics - Blossoming 1
The Blossom of a Bezier Curve Recall the de Casteljau algorithm, 𝑏 𝑖 ∈ ℝ 3 : 𝑏 0 1−𝑡 𝑏 0 1 1−𝑡 𝑡 𝑏 1 𝑏 0 2 1−𝑡 𝑡 𝑏 1 1 𝑏 0 3 =𝛾 𝑡 𝑏 2 ⋮ 𝑡 𝑏 1 2 ⋮ 𝑏 2 1 𝑏 3 ⋮ 2
The Blossom of a Bezier Curve Generalize by updating 𝑡 at each column: 𝑏 0 1− 𝑡 1 𝑏 0 1 𝑡 1 𝑡 1 𝑏 1 1− 𝑡 2 𝑏 0 2 𝑡 1 , 𝑡 2 𝑡 2 𝑏 1 1 𝑡 1 1− 𝑡 3 𝑏 0 3 𝑡 1 , 𝑡 2 , 𝑡 3 𝑏 2 ⋮ 𝑡 3 ⋮ 𝑏 1 2 𝑡 1 , 𝑡 2 𝑏 2 1 𝑡 1 𝑏 3 ⋮ 3
The Blossom of a Bezier Curve We obtained a function: 𝑏 ≔ 𝑏 0 3 : 0,1 3 → ℝ 3 4
Q.1 Given the function 𝑏 𝑡 1 , 𝑡 2 , 𝑡 3 how can we find: The corresponding Bezier curve? The original control points? The intermediate points of the de-Casteljau algorithm? 5
Solution For the Bezier curve choose 𝑡 1 = 𝑡 2 = 𝑡 3 =𝑡 and get: 𝛾 𝑡 =𝑏 𝑡,𝑡,𝑡 . The curve is the blossom evaluated at the diagonal of the domain! 6
Solution For the control points: First we know that a Bezier curve interpolates the first and last point, therefore: 𝑏 0 =𝛾 0 =𝑏 0,0,0 , 𝑏 3 =𝛾 1 =𝑏 1,1,1 . 7
Solution What is 𝑏 0,0,1 ? 𝑏 0 𝑏 0 𝑏 1 𝑏 0 𝑏 1 𝑏 2 𝑏 1 𝑏 1 𝑏 2 𝑏 3 1 1 𝑏 1 1 1 𝑏 0 𝑏 1 1 𝑏 2 𝑏 1 1 𝑏 1 1 𝑏 2 𝑏 3 8
Solution Similarly: 𝑏 2 =𝑏 0,1,1 . What about intermediate points of the de-Casteljau algorithm? 9
Solution 𝑏 0 =𝑏 0,0,0 𝑏 0 1 =𝑏 0,0,𝑡 𝑏 1 =𝑏 0,0,1 𝑏 0 2 =𝑏 0,𝑡,𝑡 𝑏 1 1 =𝑏 0,𝑡,1 𝑏 0 3 =𝑏 𝑡,𝑡,𝑡 𝑏 2 =𝑏 0,1,1 𝑏 1 2 =𝑏 𝑡,𝑡,1 𝑏 2 1 =𝑏 𝑡,1,1 𝑏 3 =𝑏 1,1,1 10
Solution The general fact is formulated as follows: 𝑏 𝑖 =𝑏 0 𝑛−𝑖 , 1 𝑖 𝑏 𝑖 =𝑏 0 𝑛−𝑖 , 1 𝑖 and the recursion rule is: 𝑏 0 𝑛−𝑟−𝑖 , 𝑡 𝑟 , 1 𝑖 = 1−𝑡 𝑏 0 𝑛−𝑟−𝑖+1 , 𝑡 𝑟−1 , 1 𝑖 +𝑡𝑏 0 𝑛−𝑟−𝑖 , 𝑡 𝑟−1 , 1 𝑖+1 11
Q.2 Prove that the blossom of a Bezier curve is: Symmetric Multi-Affine. 12
Solution We show the symmetry for two variables. The general case follows from the same arguments. Consider: 𝑏 1 𝑎 𝑠 = 1−𝑠 𝑏 0 +𝑠 𝑏 1 𝑎 𝑡 = 1−𝑡 𝑏 0 +𝑡 𝑏 1 𝑏 𝑡 𝑎 𝑠 𝑏 𝑠 𝑎 𝑡 𝑏 2 𝑏 𝑠 = 1−𝑠 𝑏 1 +𝑠 𝑏 2 𝑏 0 𝑏 𝑡 = 1−𝑡 𝑏 1 +𝑡 𝑏 2 13
Solution The geometry behind the proof is the following: the middle point can be interpolated first with 𝑡 and then with 𝑠, or vice versa. 𝑏 1 𝑏 𝑡 𝑎 𝑠 𝑏 𝑠 𝑎 𝑡 𝑏 2 𝑏 0 14
Solution Now: 𝑏 𝑡,𝑠 = 1−𝑠 𝑎 𝑡 +𝑠 𝑏 𝑡 𝑏 𝑠,𝑡 = 1−𝑡 𝑎 𝑠 +𝑡 𝑏 𝑠 𝑏 𝑡,𝑠 = 1−𝑠 𝑎 𝑡 +𝑠 𝑏 𝑡 𝑏 𝑠,𝑡 = 1−𝑡 𝑎 𝑠 +𝑡 𝑏 𝑠 From here compute and verify both expressions are the same (describing the same middle point!). 𝑎 𝑠 = 1−𝑠 𝑏 0 +𝑠 𝑏 1 𝑎 𝑡 = 1−𝑡 𝑏 0 +𝑡 𝑏 1 𝑏 𝑠 = 1−𝑠 𝑏 1 +𝑠 𝑏 2 𝑏 𝑡 = 1−𝑡 𝑏 1 +𝑡 𝑏 2 15
Solution An Affine combination is a linear combination with coefficients that sum to 1. (how is that different from a convex combination?) 16
Solution A function of one variable is called affine if: 𝑓 𝛼𝑥+ 1−𝛼 𝑦 =𝛼𝑓 𝑥 + 1−𝛼 𝑓 𝑦 . A multivariate function is called multi affine if it is affine with respect to every variable. 17
Solution From the symmetry – it suffices to show that the blossom is affine with respect to the first variable. The proof is by induction using the deCasteljau recursion rule! 18
Blossoms as Polar Forms Definition: Given a polynomial 𝑓 𝑡 , the polar form of 𝑓 𝑡 is the polynomial in 𝑛 variables 𝐹 𝑢 1 ,…, 𝑢 𝑛 with the properties: Symmetric Multi-Affine The diagonal: 𝐹 𝑡,…,𝑡 =𝑓 𝑡 19
Blossoms as Polar Forms Theorem: Every polynomial 𝑓 𝑡 indeed has a polar form 𝐹 and is unique. 20
Blossoms as Polar Forms Idea behind the proof of existence: 𝑓 𝑡 = 𝑖=0 𝑛 𝑐 𝑖 𝑡 𝑖 Then: 𝐹 𝑡 1 ,…, 𝑡 𝑛 = 𝑖=0 𝑛 𝑐 𝑖 𝑛 𝑖 −1 𝑆⊂ 1,…,𝑛 , 𝑆 =𝑖 𝑗∈𝑆 𝑡 𝑗 21
Blossoms as Polar Forms In practice, replace monomials in the following way: 𝑡↦ 𝑡 1 +…+ 𝑡 𝑛 𝑛 𝑡 2 ↦ 𝑡 1 𝑡 2 + 𝑡 2 𝑡 3 + 𝑡 1 𝑡 3 …+ 𝑡 𝑛−1 𝑡 𝑛 𝑛 2 22
Q.3 How can the blossom of a Bezier curve be used for subdivision at 𝑡? 23
Solution 𝑏 0 =𝑏 0,0,0 𝑏 0 1 =𝑏 0,0,𝑡 𝑏 1 =𝑏 0,0,1 𝑏 0 2 =𝑏 0,𝑡,𝑡 𝑏 1 1 =𝑏 0,𝑡,1 𝑏 0 3 =𝑏 𝑡,𝑡,𝑡 𝑏 2 =𝑏 0,1,1 𝑏 1 2 =𝑏 𝑡,𝑡,1 𝑏 2 1 =𝑏 𝑡,1,1 𝑏 3 =𝑏 1,1,1 24
Solution 𝑏 0 =𝑏 0,0,0 𝑏 0 1 =𝑏 0,0,𝑡 𝑏 1 =𝑏 0,0,1 𝑏 0 2 =𝑏 0,𝑡,𝑡 𝑏 1 1 =𝑏 0,𝑡,1 𝑏 0 3 =𝑏 𝑡,𝑡,𝑡 𝑏 2 =𝑏 0,1,1 𝑏 1 2 =𝑏 𝑡,𝑡,1 𝑏 2 1 =𝑏 𝑡,1,1 𝑏 3 =𝑏 1,1,1 25