We present a general constructive approach to blossoming for arbitrary finite dimensional univariate function spaces by altering the diagonal property of the classical blossom. We apply this approach to blossoming to develop the corresponding theory of Bernstein bases and Bézier curves including de Casteljau type algorithms for evaluation and subdivision as well as a Marsden identity for arbitrary finite dimensional univariate function spaces.
Hinweise
Ron Goldman and Plamen Simeonov contributed equally to this work.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
1 Introduction
Bézier and B-spline curves and surfaces are fundamental tools in many branches of computational science and engineering: computer graphics and scientific visualization, computer aided design and manufacture, medical and biomedical imaging, computer art and architecture, computer games and animated movies all rely on Bézier and B-spline curves and surfaces. Blossoming is an elegant and potent tool for analyzing polynomial and piecewise polynomial curves and surfaces, and for developing the theory and applications of the corresponding Bézier and B-spline curves and surfaces. The blossom is particularly powerful for constructing recursive algorithms to evaluate, subdivide, differentiate, degree elevate, and change bases for Bézier and B-spline curves and surfaces.
The classical polynomial blossom is easy to define and is uniquely characterized by three simple properties: symmetry, multiaffinity, and a diagonal property. Thus the classical blossom of a degree \(n\) polynomial \(P(t)\) is the unique function \(p(u_1,\ldots ,u_n)\) that satisfies the following three axioms [7]:
1.
Symmetry: \(p(u_{\sigma (1)},\ldots ,u_{\sigma (n)})=p(u_1,\ldots ,u_n)\) for every \(\sigma \in S_n\), the set of all permutations of \(\{1,\ldots ,n\}\),
Standard properties, formulas, computations, and algorithms for Bézier and B-spline curves and surfaces, including affine invariance, the de Casteljau evaluation and subdivision algorithms for Bézier curves and surfaces, the de Boor recursive evaluation algorithm for B-splines, knot insertion and subdivision algorithms for B-splines, Marsden’s identity, all follow readily from blossoming.
Anzeige
Over the years blossoming has been extended in many directions: to quantum splines, to Müntz spaces, to \(Q\)-splines, to trigonometric splines, and to Chebyshev splines. These generalizations facilitate extending the Bernstein-Bézier and B-spline bases along with their standard properties, formulas, computations, and algorithms from polynomial spaces to these special function spaces. In each case a novel approach has been introduced to extend blossoming to the desired space of functions by altering either the multiaffine property or the diagonal property of the blossom.
The main goal of this paper is to finally understand at a fundamental level the general mathematical principles underlying blossoming and to provide a single unified approach that extends blossoming to all finite dimensional spaces of univariate functions without the need to reinvent blossoming for each new space of functions. The key observation is that elementary symmetric functions appear both in the blossoms of monomials and in the coefficients of polynomials. The coefficients of polynomials are elementary symmetric functions of the roots. The blossoms of monomials are elementary symmetric functions in the blossom parameters. To extend blossoming to arbitrary function spaces, we will link these two seemingly disparate manifestations of elementary symmetric functions.
We will also show that the analogues of the Bernstein-Bézier bases exist for all finite dimensional spaces of univariate functions and that as a consequence of blossoming the basic properties, formulas, computations, and algorithms listed above hold for all finite dimensional spaces of univariate functions. (Extensions to B-splines will be treated in a separate paper.) Moreover the analysis is not complicated and the computations are straightforward. Our investigation shows that the blossom depends not only on the function space, but also on the basis of the function space. Thus there are many different blossoms and consequently many different Bernstein bases for the same function space, a fact already evident from our investigation of quantum blossoms for polynomial spaces [10].
The blossom is central in the study of Bézier and B-spline curves and surfaces because the blossom provides the dual functionals for these bases. The dual functional property asserts that the coefficients \(\{P_k\}\) of any degree \(n\) polynomial \(P(t)\) relative to the Bernstein basis of degree \(n\) over the interval \([a,b]\) are given by the blossom \(p(u_1,\ldots ,u_n)\) evaluated at the end points of the parameter interval–that is, \(P_k=p(a^{\langle n-k\rangle },b^{\langle k\rangle })\), where \(c^{\langle k\rangle }\) denotes the \(k\)-tuple \((c,\ldots ,c)\). A similar dual functional property holds for B-splines: the coefficients of a spline \(S(t)\) relative to the corresponding B-spline basis are given by the blossom of \(S(t)\) evaluated at the knots.
Anzeige
Blossoms are polar forms, which are a classical topic in mathematics, but the incarnation of polar forms as blossoms and their application to Bézier and B-spline curves and surfaces emerged only in the 1980s in the work of Ramshaw [24‐26] and de Casteljau [4, 5]. Only recently (since the 1990s) have researchers become interested in generalizing and extending the classical notion of blossoming to certain finite dimensional function spaces, such as Müntz spaces [2], Chebyshev spaces [14], spaces of trigonometric polynomials [16], and other more general function spaces [6]. This new development came with the initial realization that by modifying only the multiaffine property, the polynomial blossom can be extended to Chebyshev spaces [14, 19‐22].
One important consequence of the classical blossom is the existence of a Bernstein basis over a finite interval. For the degree \(n\) polynomials on an interval \([a,b]\) this basis consists of \(n+1\) polynomials of exact degree \(n\): \(\{B_k^n(t;[a,b])\}_{k=0}^n\), where \(B_k^n\) vanishes \(k\) times at \(a\) and \(n-k\) times at \(b\), \(k=0,\ldots ,n\). The dual functional property relates this Bernstein basis to the blossom in the following way: For every degree \(n\) polynomial \(P(t)\) we have \(P(t)=\sum _{k=0}^n p(a^{\langle n-k\rangle },b^{\langle k\rangle })B_k^n(t;[a,b])\), where \(p(u_1,\ldots ,u_n)\) is the blossom of \(P(t)\). That is, the blossom gives the coefficients in the representation of a polynomial in the Bernstein basis. One direct consequence of this dual functional property is the Marsden identity, which can itself be used as a starting point to construct more general blossoms as outlined in Sect. 2 of this paper. Natural questions then to ask were if such Bernstein bases can be constructed in any finite dimensional Chebyshev space, and then whether a certain type of blossom can be constructed in that Chebyshev space. These questions were answered affirmatively in [21] for extended Chebyshev systems.
Ramshaw [24‐26] observed that the classical blossom can be viewed as the intersection of tangent hyperplanes or oscillating flats. This definition was later extended by Pottman to Chebyshev spaces in [23] and used by Goodman and Mazure to study Chebyshev spaces in [14]. The blossom \(f(u_1,\ldots ,u_n)\) of a function \(F\) in a Chebyshev space is defined as the intersection of the oscillating flats to the curve \(F\) at the distinct values \(\{u_i\}_{i=1}^n\). This Chebyshev blossom is symmetric and satisfies the usual diagonal property, but it is not multiaffine. Rather this Chebyshev blossom is pseudo-affine in the sense that this blossom is monotone in each variable. The blossom for Chebyshev spaces can be used to develop a full Chebyshev–Bernstein theory with the corresponding dual functional property and de Casteljau type evaluation and subdivision algorithms as well as a corresponding theory of B-splines. Very recently, using this general framework, Chebyshev–Bernstein bases and a Chebyshev blossom for Müntz spaces were constructed in [1, 2].
Blossoming for trigonometric polynomials was first introduced in [13]. Trigonometric splines first appeared in [15] and were studied extensively in many later works: see [17, 18], and [16] for a survey.
Yet another approach to blossoming, Bernstein polynomials, Bézier curves, B-splines, and many other applications emerged in 2010, when new type of polynomial blossoms, quantum blossoms, were introduced and studied in [10, 11, 28‐30]. The main idea of this approach is to keep the symmetry and multiaffine properties, but to change the diagonal property by replacing the diagonal vector \((t,\ldots ,t)\) by either \((t,qt,\ldots ,q^{n-1}t)\) (\(q\)-blossom), or \((t,t-h,\ldots ,t-(n-1)h)\) (\(h\)-blossom), or \((t,g(t),\ldots ,g^{[n-1]}(t))\) with \(g^{[k]}(t)=q^kt+(q^k-1)h/(q-1)\) (\((q,h)\)-blossom). In addition to fully investigating these quantum blossoms, the corresponding Bernstein-Bézier and B-spline theories have also been thoroughly investigated in [3, 10‐12, 27, 29, 30]. These new types of quantum blossom can be used to construct and to recursively evaluate not only the corresponding quantum Bézier curves, but also their quantum derivatives, thus replicating one of the most important properties of the classical blossom which is crucial as well for constructing quantum B-splines, where the classical derivative is replaced by the quantum derivative.
Hence there are several different ways to extend the blossom in order to investigate either more general function spaces or more general derivatives for polynomial spaces.
Thus recent research in splines for finite dimensional univariate function spaces has diverged into a variety of special cases. Understanding why blossoming is a general property of all finite dimensional univariate function spaces and their associated bases and simplifying and unifying blossoming for all finite dimensional univariate function spaces under one simple rubric is one of the main goals of this paper.
2 A universal approach to blossoming
Blossoming is one of the most powerful and ubiquitous methods for developing the theory and applications of Bézier and B-spline curves and surfaces not only for polynomial and piecewise polynomial spaces but also for non-polynomial and piecewise non-polynomial spaces such as trigonometric splines and Chebyshev splines. Here we will build a blossoming theory for arbitrary finite dimensional univariate function spaces.
The classical blossom satisfies three axioms: symmetry, multi-affinity, and a simple diagonal property. Variants of the blossom can be constructed by altering one of these three properties. Over the past few decades, researchers have constructed blossoms for Müntz spaces [1, 2], trigonometric spaces [13, 17], and Chebyshev spaces [14, 19‐22], by keeping the symmetry and diagonal properties of the blossom and replacing the multiaffine property by a pseudo-affine property. In contrast, to blossom quantum splines, the authors keep the symmetry and multiaffine properties and change instead the diagonal property [10, 12, 28‐30]. The advantage of keeping the multiaffine property is that the computations and proofs remain simple and stay similar to the classical polynomial case because the blossom is still a multiaffine polynomial, even if the functions to be blossomed are no longer polynomials. Indeed we shall see in Sects. 3.1–3.4 that standard properties, formulas, computations, and algorithms for Bernstein bases and Bézier curves and surfaces, including the dual functional property, partition of unity, affine invariance, Marsden’s identity, and the de Casteljau evaluation and subdivision algorithms for Bézier curves and surfaces all generalize readily to arbitrary finite dimensional function spaces using the symmetry and multiaffine properties of the blossom. Therefore to extend blossoming from polynomials to arbitrary finite dimensional function spaces, we shall keep the symmetry and multiaffine properties and change only the diagonal property of the blossom.
Definition 1
(\(R\)-Blossom) Let \(F_0(t),\ldots ,F_n(t)\) be \(n+1\) linearly independent functions and let \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\). The \(R\)-blossom of a function \(F(t)\in {{\mathcal {F}}}\) is the unique, symmetric, multiaffine function \(f(u_1,\ldots ,u_n)\) satisfying the following three axioms:
1.
Symmetry: \(f(u_{\sigma (1)},\ldots ,u_{\sigma (n)})=f(u_1,\ldots ,u_n)\) for every permutation \(\sigma \in S_n\),
\(R\)-Diagonal: There exists a collection of functions \(R=(r_1(t),\ldots ,r_n(t))\) depending only on \(F_0(t),\ldots ,F_n(t)\) and not on \(F(t)\) such that \(f(r_1(t),\ldots ,r_n(t))=F(t)\).
By the multiaffine property, the \(R\)-blossom \(f(u_1,\ldots ,u_n)\) is a multivariate polynomial of degree at most one in each variable. Thus all the complexity of the \(R\)-blossom is consigned to the \(R\)-diagonal property and to the functions \(R=(r_1(t),\ldots ,r_n(t))\). Hence for a given function space \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\), we need to know: (i) what are the functions \(R=(r_1(t),\ldots ,r_n(t))\), and (ii) how do we compute these functions?
Recall that for classical splines and for quantum \(q\)-splines, we have the following contrasting formulas for the diagonal property [7, 27]: \(f(t,\ldots ,t)=F(t)\) for the classical blossom and \(f(t,qt,\ldots ,q^{n-1}t)=F(t)\) for the quantum \(q\)-blossom. Can these diagonal properties give us any clues into the \(R\)-diagonal property for an arbitrary function space \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\)?
The key insight comes from the Marsden identity. The left-hand side of Marsden’s identity is [7, 27]: \((x-t)^n=x^n-ntx^{n-1}+\cdots +(-1)^nt^n\) with roots \(x=t,\ldots ,t\) and coefficients \(1,-nt,\ldots ,(-1)^nt^n\) for classical splines, and \((x-t)(x-qt)\cdots (x-q^{n-1}t)=x^n-(1+q+\cdots +q^{n-1})t x^{n-1}+\cdots +(-1)^n q^{n\atopwithdelims ()2}t^n\) with roots \(x=t,qt,\ldots ,q^{n-1}t\) and coefficients \(1,-(1+q+\cdots +q^{n-1})t,\ldots ,(-1)^n q^{n\atopwithdelims ()2}t^n\) for quantum \(q\)-splines.
Thus the roots of the left-hand side of Marsden’s identity are where we evaluate the blossom for the diagonal property and the coefficients of \(x^n,x^{n-1},\ldots ,1\) on the right-hand side form the corresponding polynomial basis.
We can now turn these observations around. Set \(F_0(t)=1\) so that \({{\mathcal {F}}}\) contains the constants and consider the polynomial
The roots \(r_1(t),\ldots ,r_n(t)\) on the right-hand side are where we evaluate the \(R\)-blossom for the diagonal property and the coefficients of \(x^n,x^{n-1},\ldots ,1\) on the left-hand side are our basis for the space \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\). Notice that the functions \(r_1(t),\ldots ,r_n(t)\) need not be in the space \({{\mathcal {F}}}\). Moreover, these roots may even take on complex values, but if the functions \(F_0(t),\ldots ,F_n(t)\) are real-valued, the values of the \(R\)-blossom evaluated along the \(R\)-diagonal are also real.
We shall now establish the existence and the uniqueness of this \(R\)-blossom.
Theorem 1
Let \(F_0(t),\ldots ,F_n(t)\) be \(n+1\) linearly independent functions and let \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\). Then there is a fixed collection of functions \(R=(r_1(t),\ldots ,r_n(t))\) such that every function \(F(t)\in {{\mathcal {F}}}\) has a unique \(R\)-blossom \(f(u_1,\ldots ,u_n)\).
Proof
To see that we can blossom the basis functions \(F_0(t),\ldots ,F_n(t)\) using the \(R\)-diagonal property with \(R=(r_1(t),\ldots ,r_n(t))\) defined by (1), let
We establish the uniqueness of this \(R\)-blossom using a standard technique from [7, 11]. Let \(g(u_1,\ldots ,u_n)\) be another \(R\)-blossom of \(F(t)\). By the symmetry and multiaffine properties of this \(R\)-blossom it follows that there exist coefficients \(\{d_k\}_{k=0}^n\) such that \(g(u_1,\ldots ,u_n)=\sum _{k=0}^n d_k s_{n,k}(u_1,\ldots ,u_n)\). The diagonal property and (1) then yield
Since the functions \(\{F_k(t)\}_{k=0}^n\) are linearly independent, it follows that \(d_k=c_k\), \(k=0,\ldots ,n\). \(\square \)
Notice that the \(R\)-blossom of \(F(t)\in {{\mathcal {F}}}\) depends not only on the function space \({{\mathcal {F}}}\) but also on the choice of the basis functions \(F_0(t),\ldots ,F_n(t)\) for the space \({{\mathcal {F}}}\). A different basis for \({{\mathcal {F}}}\) would give a different left-hand side in (1) and therefore different roots \(R=(r_1(t),\ldots ,r_n(t))\) on the right-hand side of (1). Even a simple change of basis such as multiplying one or more of the basis functions \(F_0(t),\ldots ,F_n(t)\) by non-zero constants will result in different roots \(R=(r_1(t),\ldots ,r_n(t))\) on the right-hand side of (1). This should not be surprising, since exactly the same phenomenon occurs with polynomial spaces: for polynomials we get different diagonal properties for classical splines and for quantum splines, but locally both spaces are polynomial spaces and the polynomial basis functions differ only by distinct constant factors. So we already have different notions of blossoming for polynomials, depending on our choice of polynomial basis. Other choices are indeed possible. For example for cubic polynomials if we choose the monomial basis \(1,t,t^2,t^3\), then (1) becomes \(x^3-tx^2+t^2x-t^3=(x-t)(x-it)(x+it)\), so in this case the diagonal property of the blossom would be \(f(t,it,-it)=F(t)\).
To actually compute the functions \(R=(r_1(t),\ldots ,r_n(t))\) at any particular value \(t=t^*\), we need to find the roots \(r_1(t^*),\ldots ,r_n(t^*)\) of the polynomial \(P(x)=x^n-F_1(t^*)x^{n-1}+\cdots +(-1)^nF_n(t^*)\). For \(n\le 4\) there are explicit formulas for these roots; for \(n\ge 5\) numerical methods may be required.
Example 1
(A Müntz Space) Consider the Müntz space \({{\mathcal {M}}}=\textrm{span}\{1,t,t^3,t^4\}\). In this case (1) becomes \(x^3-tx^2+t^3x-t^4=(x-t)(x-it^{3/2})(x+it^{3/2})\). Thus \(R=(t,it^{3/2},-it^{3/2})\). Hence for any function \(F(t)\in {{\mathcal {M}}}\) the \(R\)-diagonal property is \(f(t,it^{3/2},-it^{3/2})=F(t)\). Notice that the left-hand side is real, even though two of the parameters \(it^{3/2},-it^{3/2}\) are imaginary. We can remove the imaginary parameters by choosing a different basis, for example by setting \({{\mathcal {M}}}=\textrm{span}\{1,t,-t^3,-t^4\}\). Equation (1) then becomes \(x^3-tx^2-t^3x+t^4=(x-t)(x-t^{3/2})(x+t^{3/2})\) and \(R=(t,t^{3/2},-t^{3/2})\). Hence in this case the \(R\)-diagonal property for any \(F(t)\in {{\mathcal {M}}}\) is \(f(t,t^{3/2},-t^{3/2})=F(t)\), so by a simple constant multiple we have eliminated the imaginary parameters from the \(R\)-blossom.
3 \(R\)-Bernstein bases and \(R\)-Bézier curves
Having built a blossom for arbitrary finite dimensional univariate function spaces, in this section we will show how we can use this new blossom to develop the analogues of Bernstein bases and Bézier curves and surfaces for these function spaces. Since the surfaces we have in mind are tensor product surfaces, we concentrate our exposition on curves, since the results for curves easily extend to tensor product surfaces. We will also use the \(R\)-blossom to extend standard properties, formulas, computations, and algorithms for classical Bernstein bases and Bézier curves, including the de Casteljau evaluation and subdivision algorithms, the dual functional property of the blossom, partition of unity, affine invariance, interpolation of end points, a change of basis formula, and Marsden’s identity to arbitrary finite dimensional function spaces.
3.1 The de Casteljau evaluation algorithms
Our first recursive evaluation algorithm is a procedure for computing the \(R\)-blossom \(f(u_1,\ldots ,u_n)\). Throughout Sect. 3, the functions \(\{F_k(t)\}_{k=0}^n\) are linearly independent and continuous on the interval \([a,b]\), and \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\).
Theorem 2
(Recursive Evaluation for the \(R\)-blossom) Let \(R=(r_1(t),\ldots ,r_n(t))\) and let \(a\) and \(b\) be such that \(r_j(b)\ne r_i(a)\), \(1\le j\le i\le n\). In addition, let \(f(u_1,\ldots ,u_n)\) be the \(R\)-blossom of \(F(t)\in {{\mathcal {F}}}\). Set \(Q_k^0=f(r_{k+1}(a),\ldots ,r_n(a),r_1(b),\ldots ,r_k(b))\), \(k=0,\ldots ,n\), and define recursively
\(k=0,\ldots ,n-s\), \(s=1,\ldots ,n\). In particular, \(Q_0^n=f(u_1,\ldots ,u_n)\).
Proof
The proof of this result is straightforward from the symmetry and multiaffine properties of the \(R\)-blossom, using induction on \(s\). \(\square \)
The recursive evaluation algorithm in Theorem 2 is illustrated in Fig. 1 for \(4\)-dimensional function spaces. In Fig. 1 and in the subsequent Figs. 2 and 3, the notation \(uvw\) at each node represents the blossom value \(f(u,v,w)\). The value at each node in the diagram is computed from the values at the nodes one level lower to the left and to the right by multiplying the values at these nodes by the values along the arrows emanating from these nodes and adding the results.
Fig. 1
The recursive evaluation algorithm in Theorem 2 for \(4\)-dimensional function spaces
Fig. 2
The algorithm in Theorem 3 for \(4\)-dimensional function spaces for the identity permutation in \(S_3\)
Fig. 3
The algorithm in Theorem 3 for \(4\)-dimensional function spaces for the permutation \(\sigma =(1,3)\in S_3\)
×
×
×
Theorem 3
(Recursive Evaluation for \(F(t)\in {{\mathcal {F}}}\)) Let \(R=(r_1(t),\ldots ,r_n(t))\), \(a,b\) be constants such that \(r_j(b)\ne r_i(a)\), \(1\le j\le i\le n\), and let \(F(t)\in {{\mathcal {F}}}\) with \(R\)-blossom \(f(u_1,\ldots ,u_n)\). There are \(n!\) recursive evaluation algorithms for \(F(t)\) defined as follows: Let \(\sigma \in S_n\). Set \(P_k^0=f(r_{k+1}(a),\ldots ,r_n(a),r_1(b),\ldots ,r_k(b))\), \(k=0,\ldots ,n\), and define recursively
This result follows from Theorem 2 by substituting \(u_i=r_{\sigma (i)}(t)\), \(i=1,\ldots ,n\) for the blossom parameters. \(\square \)
The algorithms in Theorem 3 are the analogues of the de Casteljau evaluation algorithm for polynomials. These de Casteljau type evaluation algorithms for \(4\)-dimensional function spaces are illustrated in Fig. 2 for the identity permutation in \(S_3\) and in Fig. 3 for the permutation \(\sigma =(1,3)\in S_3\).
3.2 \(R\)-Bernstein bases and the dual functional property
Next, we extend Bernstein bases and Bézier curves from the classical polynomial setting to arbitrary finite dimensional function spaces. Here again \(R=(r_1(t),\ldots ,r_n(t))\) are the functions defined by (1), and \([a,b]\) is an interval such that \(r_j(b)\ne r_i(a)\), \(1\le j\le i\le n\). For each \(k=0,\ldots ,n\), the \(k\)-th \(R\)-Bernstein basis function of order \(n\) on \([a,b]\) denoted by
is defined to be the coefficient of \(P_k^0=f(r_{k+1}(a),\ldots ,r_n(a),r_1(b),\ldots ,r_k(b))\) in any of the \(n!\) recursive evaluation algorithms for any function \(F(t)\in {{\mathcal {F}}}\) (see Figs. 2 and 3). Equivalently, \(B_k^n(t;[a,b];R)\) can be computed from any one of the \(n!\) recursive evaluation algorithms with initial values \(P_i^0=\delta _{k,i}\), \(i=0,\ldots ,n\).
A curve of the form \(F(t)=\sum _{k=0}^n P_k B_k^n(t;[a,b];R)\) is called \(R\)-Bézier curve on the interval \([a,b]\). The coefficients \(P_k\), \(k=0,\ldots ,n\) are the \(R\)-Bézier control points of the \(R\)-Bézier curve \(F(t)\).
Since every function \(F(t)\in {{\mathcal {F}}}\) has an \(R\)-blossom, these \(R\)-Bernstein basis functions of order \(n\) on the interval \([a,b]\) are indeed a basis for the space \({{\mathcal {F}}}\). Therefore the control points of an \(R\)-Bézier curve are unique. Thus from the de Casteljau recursive evaluation algorithms, we conclude that the \(R\)-blossom has the following dual functional property.
Proposition 4
(\(R\)-Dual Functional Property) Let \(F(t)=\sum _{k=0}^n P_k B_k^n(t;[a,b];R)\) be an \(R\)-Bézier curve on the interval \([a,b]\). Then
The \(R\)-dual functional property shows that the recursive evaluation algorithms in Theorem 3 actually start with the Bézier control points of the function \(F(t)\). Therefore we have \(n!\) affine invariant, recursive evaluation algorithms for any function \(F(t)\in {{\mathcal {F}}}\).
Example 2
(A Müntz Space–continued) Consider the space \({{\mathcal {M}}}=\textrm{span}\{1,t,t^3,t^4\}\) from Example 1. Recall that \(R=(t,it^{3/2},-it^{3/2})\). Using the recursive evaluation algorithm in Fig. 2, we find that the \(R\)-Bernstein basis functions on \([0,1]\) are given by
Notice that even though the root functions \(\pm it^{3/2}\) are imaginary and not in the space \({{\mathcal {M}}}\), these \(R\)-Bernstein basis functions are indeed in the space \({{\mathcal {M}}}\). However, since two of these basis functions are complex, the control points of real \(R\)-Bézier curves may also be complex! To avoid these complex valued basis functions, we can change the basis to \({{\mathcal {M}}}=\textrm{span}\{1,t,-t^3,-t^4\}\). Recall that for this basis \(R=(t,t^{3/2},-t^{3/2})\). By the recursive evaluation algorithm in Fig. 3, the \(R\)-Bernstein basis functions on \([0,1]\) are now given by
Once again these basis functions are all in the space \({{\mathcal {M}}}\), even though the root functions \(\pm t^{3/2}\) are not in the space \({{\mathcal {M}}}\). Moreover, now we have real \(R\)-Bernstein basis functions, so the control points of real \(R\)-Bézier curves will also be real.
3.3 Identities and properties for the \(R\)-Bernstein basis functions
Here we show how to extend some fundamental identities for the classical Bernstein basis functions to \(R\)-Bernstein basis functions for arbitrary function spaces. These formulas all follow easily from the \(R\)-dual functional property (10).
Formula (12) follows from the \(R\)-dual functional property (10) applied to the function \(F_j(t)\) whose \(R\)-blossom by (2)–(4) is \(s_{n,j}(u_1,\ldots ,u_n)\). \(\square \)
Suppose that \(F_1(t)=t\). Then \(R\)-Bézier curves reproduce straight lines with a linear parametrization when the control points are suitably spaced along a straight line.
Proof
Let \(L(t)=\frac{b-t}{b-a}Q_0+\frac{t-a}{b-a}Q_1\) be a straight line. Set \(t_k=\sum _{l=k+1}^nr_l(a)+\sum _{l=1}^{k}r_l(b)\), \(k=0,\ldots ,n\) and select the points along \(L(t)\) defined by \(P_k=L(t_k)\). By the case \(j=1\) of (12) and by (13),
(Endpoint Interpolation) Let \(F(t)=\sum _{k=0}^n P_k B_k(t;[a,b];R)\) be an \(R\)-Bézier curve. Then \(F(a)=P_0\) and \(F(b)=P_n\).
Proof
This property follows from the cases \(k=0\) and \(k=n\) of (10) and the diagonal property of the \(R\)-blossom. \(\square \)
Definition 2
(Generalized Lototsky Basis) Let \({{\mathcal {P}}}=\{p_j(t)\}_{j=1}^n\) be nonnegative functions on \([a,b]\). The generalized Lototsky basis \(\{B_{n,k}(t;{{\mathcal {P}}})\}_{k=0}^n\) is defined by [31, 32]
Suppose that the functions \(\{r_j(t)\}_{j=1}^n\) are nonnegative on \([a,b]\) and satisfy \(r_j(a)=1-r_j(b)=0\), \(j=1,\ldots ,n\). Then the generalized Lototsky basis for \({{\mathcal {P}}}=\{r_j(t)\}_{j=1}^n\) is the \(R\)-Bernstein basis on \([a,b]\).
Subdivision algorithms play a central role in Computer Aided Geometric Design for constructing, rendering, intersecting, and analyzing freeform curves and surfaces [7, 8]. In this section we present a subdivision algorithm for \(R\)-Bézier curves in arbitrary finite dimensional functions spaces that generalizes the standard de Casteljau subdivision algorithm for classical Bézier curves in polynomial spaces [7, 11, 29, 30].
A subdivision algorithm for an \(R\)-Bézier curve is a procedure for splitting an \(R\)-Bézier curve over an interval \([a,b]\) into two \(R\)-Bézier curves, one on the interval \([a,\tau ]\) and one on the interval \([\tau ,b]\) for \(\tau \in (a,b)\), that together represent the original \(R\)-Bézier curve. Since each segment of an \(R\)-Bézier curve in \({{\mathcal {F}}}\) is a curve in \({{\mathcal {F}}}\), a segment of an \(R\)-Bézier curve can also be represented as an \(R\)-Bézier curve relative to a new set of control points and a new set of \(R\)-Bernstein basis functions over these new parameter intervals. We shall use the dual functional property (10) for \(R\)-Bézier curves to compute the control points for the left and right segments in terms of blossom values.
Proposition 12
Let \(F(t)\) be an \(R\)-Bézier curve on the interval \([a,b]\) with \(R\)-blossom \(f(u_1,\ldots ,u_n)\). Let \(\tau \in (a,b)\). The \(R\)-Bézier control points of the left segment of \(F(t)\) on the interval \([a,\tau ]\) and the right segment of \(F(t)\) on the interval \([\tau ,b]\) are given by the blossom values
Formulas (14)–(15) follow from the \(R\)-dual functional property (10). \(\square \)
Figures 2 and 3 show that the points \(L_k\), \(k=0,\ldots ,n\), lie along the left lateral edge of the triangle in Fig. 2 and the points \(R_k\), \(k=0,\ldots ,n\), lie along the right lateral edge of the triangle in Fig. 3. Thus these two de Casteljau evaluation algorithms provide the \(R\)-Bézier control points needed for subdividing \(R\)-Bézier curves \(F(t)\in {{\mathcal {F}}}\) over the interval \([a,b]\). Notice that by (14)–(15), \(L_n=R_0\).
Now for any \(R\)-Bézier curve \(F(t)\) on the interval \([a,b]\), we can apply the following recursive subdivision algorithm: For the first iteration we pick \(\tau \in (a,b)\) and then we subdivide \(F(t)\) into two segments: the left segment of \(F(t)\) over the interval \([a,\tau ]\) and the right segment of \(F(t)\) over the interval \([\tau ,b]\). Then for every \(N>1\), at the \(N\)-th iteration we subdivide each of the segments generated at the \((N-1)\)-th iteration into a left and right segment in the same manner as in the first iteration.
Next we investigate convergence and rates of convergence of the control polygons generated by this recursive subdivision procedure under mild assumptions on the functions \(F_0(t),\ldots ,F_n(t)\) and \(r_1(t),\ldots ,r_n(t)\).
Theorem 13
Let \(F(t)\) be an \(R\)-Bézier curve on the interval \([a,b]\) and fix \(\lambda \in (0,1/2)\). Assume that \(\{F_k(t)\}_{k=0}^n\) are continuous on \([a,b]\) and linearly independent on any interval \(I\subseteq [a,b]\). Assume also that there exist constants \(M>0\) and \(K>0\) such that
\(|r_j(t_2)-r_j(t_1)|\le K|t_2-t_1|\), for all \(t_1,t_2\in [a,b]\), \(j=1,\ldots ,n\).
Then the control polygons generated by \(R\)-Bézier subdivision, where every interval is subdivided at a point whose distance to the endpoints of that interval is at least \(\lambda \) times that interval’s length, converge to the \(R\)-Bézier curve \(F(t)\) uniformly on the interval \([a,b]\) at the rate of \((1-\lambda )^N\), where \(N\) is the number of iterations of the \(R\)-subdivision algorithm.
Proof
Let \(f(u_1,\ldots ,u_n)\) be the \(R\)-blossom of \(F(t)\). Observe that
\(k=0,\ldots ,n\), where \(s_{n,-1}:=0\). Set \(f_{u_j}=\partial f/\partial u_j\), \(j=1,\ldots ,n\). Thus from the symmetry and multiaffine properties of the \(R\)-blossom it follows that
Let \(L_k\), \(k=0,\ldots ,n\) denote the \(R\)-Bézier control points of the left segment over the interval \([a,\tau ]\) and \(R_k\), \(k=0,\ldots ,n\) denote the \(R\)-Bézier control points of the right segment over the interval \([\tau ,b]\) of \(F(t)\) subdivided at \(\tau \in (a,b)\). By (14) and (16),
$$\begin{aligned} \sum _{k=0}^{n-1}|L_{k+1}-L_k|\le n M(F)K(\tau -a). \end{aligned}$$
(17)
A similar argument shows that
$$\begin{aligned} \sum _{k=0}^{n-1}|R_{k+1}-R_k|\le n M(F)K(b-\tau ). \end{aligned}$$
(18)
Therefore each time a segment of the \(R\)-Bézier curve is subdivided, two new control polygons are generated that meet at a point on the curve and whose lengths are bounded by constant multiples of the lengths of the corresponding parameter subintervals.
Next, from the diagonal property of the \(R\)-blossom, (16), and assumption (ii), it follows that for every \(t_1,t_2\in [a,b]\),
Next we show that for any interval \([t_0,t_1]\subseteq [a,b]\), we can subdivide at \(\tau \in (t_0,t_1)\) so that \(\min \{\tau -t_0,t_1-\tau \}\ge \lambda (t_1-t_0)\), \(r_j(t_1)\ne r_i(\tau )\) and \(r_j(\tau )\ne r_i(t_0)\), \(1\le j\le i\le n\). If not, there would be an interval \(I\subset [a,b]\) of length \(|I|>0\) such that \(\prod _{1\le i,\,j\le n}[(r_j(t_1)-r_i(\tau ))(r_j(\tau )-r_i(t_0))]=0\) or equivalently \(\prod _{i=1}^n[g(\tau ,r_i(t_1))g(\tau ,r_i(t_0))]=0\), \(\tau \in I\), where \(g(t,x)=\prod _{l=1}^n(x-r_l(t))\) is the function on the right-hand side of (1). By (1) and since \(\{F_k(t)\}_{k=0}^n\subset C[a,b]\), there exists \(x\in \{r_i(t_0),r_i(t_1)\}_{i=1}^n\) and an interval \(I'\subseteq I\) with \(|I'|>0\) such that \(g(\tau ,x)=\sum _{k=0}^{n-1}(-1)^k F_k(\tau )x^{n-k}+(-1)^nF_n(\tau )=0\), \(\tau \in I'\), which contradicts the linear independence assumption in the theorem. Here we used the simple fact that if \(\{g_i(\tau )\}_{i=1}^m\subset C(I)\), where \(I\) is an interval with \(|I|>0\) and if \(\prod _{i=1}^m g_i(\tau )=0\), \(\tau \in I\), then for some \(i\) and some interval \(I'\subseteq I\) with \(|I'|>0\), \(g_i(\tau )=0\), \(\tau \in I'\). This easily follows by induction on \(m\) from the \(m=2\) case. Let \(m=2\) and let \(Z_i\) be the zero set of \(g_i(\tau )\) on \(I\), \(i=1,2\). If at least one of these sets, say \(Z_1\) is dense in \(I\), then \(Z_1=I\) and we can take \(I'=I\). If not, let \(I_1\subset I{\setminus } Z_1\) be an interval with \(|I_1|>0\). Then \(I_1\subset Z_2\) and we can take \(I'=I_1\).
So we can select \(\tau \) as described. Then \(\max \{\tau -t_0,t_1-\tau \}\le (1-\lambda )(t_1-t_0)\). Therefore, for every \(N\) the length of the control polygon for each segment of the \(R\)-Bézier curve generated at the \(N\)-th iteration of this subdivision algorithm is bounded by a constant times \((1-\lambda )^N\).
Now let \({\tilde{F}}(t)\) be a segment of the original \(R\)-Bézier curve \(F(t)\) constructed after \(N\) iterations and let \(L(t)\) denote the corresponding control polygon. Then \({\tilde{F}}(t)\) is the restriction of \(F(t)\) over a subinterval \([t_0,t_1]\subset [a,b]\) of length \(t_1-t_0\le (1-\lambda )^N(b-a)\) and by Proposition 10, \(F(t)\) and \(L(t)\) coincide at the endpoints \(t_0\) and \(t_1\). Therefore for any \(t\in [t_0,t_1]\) by (19), (17), and (18), we have the estimate
Hence the control polygons generated by this recursive subdivision algorithm converge uniformly and exponentially fast to the original \(R\)-Bézier curve on the interval \([a,b]\). \(\square \)
We illustrate the \(R\)-subdivision algorithm for a cubic \(R\)-Bézier curve in Fig. 4 and for a quartic \(R\)-Bézier curve in Fig. 5. Figure 4 shows a cubic \(R\)-Bézier curve and the first six iterations of the \(R\)-subdivision algorithm. Figure 5 shows a quartic \(R\)-Bézier curve and the first six iterations of the \(R\)-subdivision algorithm.
Fig. 4
The \(R\)-subdivision algorithm for a cubic \(R\)-Bézier curve
Fig. 5
The \(R\)-subdivision algorithm for a quartic \(R\)-Bézier curve
×
×
Using the results in [9], we can apply \(R\)-Bézier subdivision together with Theorem 13 to extend rendering and intersection algorithms from classical Bézier curves [8] to \(R\)-Bézier curves in arbitrary function spaces.
Rendering Algorithm
If the \(R\)-Bézier curve can be approximated to within tolerance by the straight line segment joining its first and last control points, then draw this line segment.
Otherwise subdivide the \(R\)-Bézier curve and render the segments recursively.
Intersection Algorithm
If each \(R\)-Bézier curve can be approximated by the straight line segment joining its first and last control points, then intersect these line segments.
Otherwise subdivide the two \(R\)-Bézier curves and intersect the segments recursively.
4 The \(\gamma \)-blossom
Here we briefly reexamine some well-known function spaces, including trigonometric polynomials, and their blossoms in light of the general theory of \(R\)-blossoming.
We begin with two linearly independent functions \(\gamma _1(t)\) and \(\gamma _2(t)\). Define the functions \(F_k(t)={n\atopwithdelims ()k}\gamma _1(t)^{n-k}\gamma _2(t)^k\), \(k=0,\ldots ,n\), and set \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\). Following our approach in Sect. 2, we find that the left-hand side of Marsden’s identity is
There are several well-known interesting examples:
(a)
When \(\gamma _1(t)=1\) and \(\gamma _2(t)=t\), the left-hand side of (21) becomes \((x-t)^n\), which is the left-hand side of the standard Marsden identity for polynomials.
(b)
When \(\gamma _1(t)=\cos {t}\) and \(\gamma _2(t)=\sin {t}\), the left-hand side of (21) is \(\sin ^n(x-t)\), which is also the left-hand side of Marsden’s identity for trigonometric polynomials [16].
(c)
When \(\gamma _1(t)=\cosh {t}\) and \(\gamma _2(t)=\sinh {t}\), the left-hand side of (21) is \(\sinh ^n(x-t)\), which is also the left-hand side of Marsden’s identity for hyperbolic functions [6].
Additional interesting examples can be found in [6].
We can now apply the \(R\)-blossoming technique to develop a blossoming theory for the space \({{\mathcal {F}}}=\textrm{span}\{F_k(t)\}_{k=0}^n\); the only difference is that we use the homogeneous (multi-linear) variant of the standard polynomial blossom in place of the multiaffine blossom in case \(F_0(t)\ne 1\). In general, the roots of the left-hand side of Marsden’s identity (20) are \(x=\gamma _2(t)/\gamma _1(t)\). To avoid rational functions and to avert possible zeros in the denominator, we adopt the usual strategy and use the homogeneous multilinear blossom in place of the standard multiaffine blossom. Thus the \(\gamma \)-blossom of a function \(F(t)\in {{\mathcal {F}}}\) is the unique symmetric multi-linear function \(f((u_1,v_1),\ldots ,(u_n,v_n))\) such that
The existence and uniqueness of this \(\gamma \)-blossom is a special case of Theorem 1.
We can also define \(\gamma \)-Bernstein bases and \(\gamma \)-Bézier curves just as in Sect. 3, and we can extend standard formulas and algorithms for classical Bernstein bases and Bézier curves for arbitrary function spaces generated from two linearly independent functions \(\gamma _1(t)\) and \(\gamma _2(t)\). All these results are essentially just special cases of the general theory of \(R\)-blossoming.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.