NURBS: From Projective Geometry to Practical Use, Second Edition

We already introduced the concepts of blossoms for projective quadratic curves in Section 4.8. Quite analogously, we now define the blossom b[ t 1, ..., t n] by applying the de Casteljau algorithm to the control polygon b 0, ..., b n, but with a different argument t i for each level of the algorithm. From the discussion in Section 4.8, it is clear that the value of b[ t 1, ... , t n] does not depend on the order in which the t i are fed into the algorithm. The blossom b[ t 1, ..., t n] is thus a symmetric function of n variables. If all variables are equal: t 1 = ... = t n = t, then the blossom agrees with the curve. It is also clear from its definition that the blossom is multilinear:
| (7.35) | |
What is not immediately clear, and in fact requires a thorough proof, is the fact that the blossom is uniquely associated with the given curve it does not depend on its initial form, B zier or other.
The original de Casteljau algorithm, with its intermediate points
, may be rewritten in blossom form;we give the cubic example:
In general, the
( t) are written in blossom form as
The blossom can also be used to subdivide a B zier curve: if we are interested in the control points c