2.1 Generalized Bernstein basis functions
Definition 1
For any natural number n (\(n \ge 2\)) and n arbitrary real values of \(\lambda_{i}\) (\(i = 1,2, \ldots,n\)), the following polynomial functions in t
$$ \textstyle\begin{cases} b_{0,n}(t) = (1 - t)^{n}(1 - \lambda_{1}t), \\ b_{i,n}(t) = t^{i}(1 - t)^{n - i} ( ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) + \lambda_{i} - \lambda_{i}t - \lambda_{i + 1}t ), \quad i = 1,2, \ldots, [ \frac{n}{2} ] - 1, \\ b_{ [ \frac{n}{2} ],n}(t) = t^{ [ \frac{n}{2} ]}(1 - t)^{n - [ \frac{n}{2} ]} ( ( {\scriptsize\begin{matrix}{} n \cr [ \frac{n}{2} ] \end{matrix}} ) + \lambda_{ [ \frac{n}{2} ]} - \lambda_{ [ \frac{n}{2} ]}t + \lambda_{ [ \frac{n}{2} ] + 1}t ), \\ b_{i,n}(t) = t^{i}(1 - t)^{n - i} ( ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) - \lambda_{i} + \lambda_{i}t + \lambda_{i + 1}t ), \quad i = [ \frac{n}{2} ] + 1, \ldots,n - 1, \\ b_{n,n}(t) = t^{n}(1 - \lambda_{n} + \lambda_{n}t) \end{cases} $$
(1)
are called the generalized Bernstein basis functions of degree n, associated with the shape parameters \(\{ \lambda_{i} \}_{i = 1}^{n}\) [20], where \(\lambda_{i} \in [ - ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ), ( {\scriptsize\begin{matrix}{} n \cr i - 1 \end{matrix}} ) ]\), \(i = 1,2, \ldots, [ \frac{n}{2} ]\), \(\lambda_{i} \in [ - ( {\scriptsize\begin{matrix}{} n \cr i - 1 \end{matrix}} ), ( {\scriptsize\begin{matrix}{}n \cr i \end{matrix}} ) ]\), \(i = [ \frac{n}{2} ] + 1, \ldots,n\),
$$\biggl[ \frac{n}{2} \biggr] = \textstyle\begin{cases} \frac{n}{2}, & \text{if $n$ is even}, \\ \frac{n + 1}{2}, & \text{if $n$ is odd}, \end{cases}\displaystyle \quad t \in [0,1]. $$
It can be easily proved that the generalized Bernstein basis functions \(b_{i,n}(t)\) of degree n have many properties similar to those of classical Bernstein basis functions of degree n, such as non-negativity, partition of unity, symmetry, etc. [20]. Specifically, when the shape parameters are \(\lambda_{i} = 0\) (\(i = 1,2, \ldots,n\)), the generalized Bernstein basis functions of degree n degenerate into the classical Bernstein basis functions of degree n.
Theorem 1
The generalized Bernstein basis functions of degree
n, as shown in (1), associated with the shape parameters
\(\lambda_{i}\) (\(i = 1,2, \ldots,n\)), are linearly independent.
Proof
First, using degree elevation of the Bernstein basis functions of degree n and combining with (1), we can obtain the following equations to convert classical Bernstein basis functions to generalized Bernstein basis functions:
$$ \textstyle\begin{cases} b_{0,n}(t) = B_{0,n + 1}(t) + \frac{ ( {\scriptsize\begin{matrix}{} n \cr 0 \end{matrix}} ) - \lambda_{1}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr 1 \end{matrix}} )}B_{1,n + 1}(t), \\ b_{i,n}(t) = \frac{ ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) + \lambda_{i}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr i \end{matrix}} )}B_{i,n + 1}(t) + \frac{ ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) - \lambda_{i + 1}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr i + 1 \end{matrix}} )}B_{i + 1,n + 1}(t), \quad i = 1,2, \ldots, [ \frac{n}{2} ] - 1, \\ b_{ [ \frac{n}{2} ],n}(t) = \frac{ ( {\scriptsize\begin{matrix}{} n \cr [ \frac{n}{2} ] \end{matrix}} ) + \lambda_{ [ \frac{n}{2} ]}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr [ \frac{n}{2} ] \end{matrix}} )}B_{ [ \frac{n}{2} ],n + 1}(t) + \frac{ ( {\scriptsize\begin{matrix}{} n \cr [ \frac{n}{2} ] \end{matrix}} ) + \lambda_{ [ \frac{n}{2} ] + 1}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr [ \frac{n}{2} ] + 1 \end{matrix}} )}B_{ [ \frac{n}{2} ] + 1,n + 1}(t), \\ b_{i,n}(t) = \frac{ ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) - \lambda_{i}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr i \end{matrix}} )}B_{i,n + 1}(t) + \frac{ ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) + \lambda_{i + 1}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr i + 1 \end{matrix}} )}B_{i + 1,n + 1}(t), \quad i = [ \frac{n}{2} ] + 1, [ \frac{n}{2} ] + 2, \ldots,n - 1, \\ b_{n,n}(t) = \frac{ ( {\scriptsize\begin{matrix}{} n \cr n \end{matrix}} ) - \lambda_{n}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr n \end{matrix}} )}B_{n,n + 1}(t) + B_{n + 1,n + 1}(t), \end{cases} $$
(2)
where
$$B_{i,n + 1}(t) = \left ( \begin{matrix} n + 1 \\ i \end{matrix} \right ) (1 - t)^{n + 1 - i}t^{i} = \frac{(n + 1)!}{i!(n + 1 - i)!}(1 - t)^{n + 1 - i}t^{i}, \quad t \in [0,1], i = 0,1, \ldots,n + 1, $$
are the Bernstein basis functions of degree \(n+1\).
Let \(\sum_{i = 0}^{n} \alpha_{i}b_{i,n}(t) = 0\), where \(\alpha_{i} \in R\), \(i = 0,1, \ldots,n\). Then, according to (2), we can obtain
$$ 0 = \sum_{i = 0}^{n} \alpha_{i}b_{i,n}(t) = \sum_{i = 0}^{n + 1} \beta_{i}B_{i,n + 1}(t), $$
(3)
where
$$ \textstyle\begin{cases} \beta_{0} = \alpha_{0}, \\ \beta_{i} = (1 - \zeta_{i})\alpha_{i - 1} + \zeta_{i}\alpha_{i},\quad i = 1,2, \ldots, [ \frac{n}{2} ], \\ \beta_{i} = \zeta_{i}\alpha_{i - 1} + (1 - \zeta_{i})\alpha_{i},\quad i = [ \frac{n}{2} ] + 1, [ \frac{n}{2} ] + 2, \ldots,n, \\ \beta_{n + 1} = \alpha_{n}, \end{cases} $$
(4)
where
$$\zeta_{i} = \frac{ ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) + \lambda_{i}}{ ( {\scriptsize\begin{matrix}{} n + 1 \cr i \end{matrix}} )},\quad i = 1,2, \ldots,n. $$
Since the Bernstein basis functions of degree \(n+1\) are linearly independent, we obtain \(\beta_{i} = 0\) (\(i = 0,1, \ldots,n + 1\)). Thus, it is obvious that \(\alpha_{i} = 0\) for \(i = 0,1, \ldots,n\), meaning that \(b_{i,n}(t)\) (\(i = 0,1, \ldots,n\)) are linearly independent. □
2.2 Definition and properties of Q-Bézier curve
Definition 2
Let points \(\boldsymbol{P}_{i} \in R^{d}\) (\(d = 2,3\); \(i = 0,1, \ldots,n\)), then the polynomial curve of degree n associated with shape parameters \(\{ \lambda_{i} \}_{i = 1}^{n}\), a so-called Q-Bézier curve, can be defined as follows [20]:
$$ \boldsymbol{r}(t) = \sum_{i = 0}^{n} \boldsymbol{P}_{i}b_{i,n}(t), \quad t \in [ 0,1 ], $$
(5)
where points \(\boldsymbol{P}_{i}\) (\(i = 0,1, \ldots,n\)) are control points of the curve, \(\lambda_{i} \in [ - ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ), ( {\scriptsize\begin{matrix}{} n \cr i - 1 \end{matrix}} ) ]\), \(i = 1,2, \ldots, [ \frac{n}{2} ]\), \(\lambda_{i} \in [ - ( {\scriptsize\begin{matrix}{} n \cr i - 1 \end{matrix}} ), ( {\scriptsize\begin{matrix}{} n \cr i \end{matrix}} ) ]\), and \(i = [ \frac{n}{2} ] + 1, \ldots,n\), \(b_{i,n}(t)\) (\(i = 0,1, \ldots,n\)) are the generalized Bernstein basis functions of degree n defined by (1). According to the definition and properties of the generalized Bernstein basis functions, it is easy to see that the Q-Bézier curve has inherited many of the characteristics of the Bézier curve, such as symmetry, convex hull property, geometric invariance, etc. In addition, the Q-Bézier curve has good shape adjustability, with the shape of the curve being determined by its own control points and shape parameters. Specifically, with shape parameters \(\lambda_{i} = 0\) (\(i = 1,2, \ldots,n\)), the Q-Bézier curve degenerates to a classical Bézier curve.
Theorem 2
The Q-Bézier curve
\(\boldsymbol{r}(t)\)
of degree
n
has the following terminal properties:
$$ \textstyle\begin{cases} \boldsymbol{r}(0) = \boldsymbol{P}_{0} ,\\ \boldsymbol{r}(1) = \boldsymbol{P}_{n} ,\\ \boldsymbol{r}'(0) = (n + \lambda_{1})(\boldsymbol{P}_{1} - \boldsymbol{P}_{0}) ,\\ \boldsymbol{r}'(1) = (n + \lambda_{n})(\boldsymbol{P}_{n} - \boldsymbol{P}_{n - 1}) ,\\ \boldsymbol{r}''(0) = [n(n - 1) + 2n\lambda_{1}]\boldsymbol{P}_{0} - [2n(n - 1) + 2n\lambda_{1} + 2\lambda_{2}]\boldsymbol{P}_{1} + [n(n - 1) + 2\lambda_{2}]\boldsymbol{P}_{2} ,\\ \boldsymbol{r}''(1) = [n(n - 1) + 2n\lambda_{n}]\boldsymbol{P}_{n} - [2\lambda_{n - 1} + 2n(n - 1) + 2n\lambda_{n}]\boldsymbol{P}_{n - 1} \\ \hphantom{\boldsymbol{r}''(1) =}{}+ [n(n - 1) + 2\lambda_{n - 1}]\boldsymbol{P}_{n - 2}. \end{cases} $$
(6)
Proof
According to (1), the generalized Bernstein basis functions \(b_{i,n}(t)\) (\(i = 0,1, \ldots,n\); \({n \ge 2}\)) at the terminal points are
$$\begin{aligned}& b_{i,n}(0) = \textstyle\begin{cases} 1 & (i = 0), \\ 0 & (i \ne 0), \end{cases}\displaystyle \end{aligned}$$
(7)
$$\begin{aligned}& b_{i,n}(1) = \textstyle\begin{cases} 1 & (i = n), \\ 0 & (i \ne n), \end{cases}\displaystyle \end{aligned}$$
(8)
$$\begin{aligned}& b'_{i,n}(0) = \textstyle\begin{cases} - (n + \lambda_{1}) & (i = 0) , \\ n + \lambda_{1} & (i = 1), \\ 0 & (i = 2,3, \ldots,n), \end{cases}\displaystyle \end{aligned}$$
(9)
$$\begin{aligned}& b'_{i,n}(1) = \textstyle\begin{cases} - (n + \lambda_{n}) &(i = n - 1), \\ n + \lambda_{n} & (i = n) , \\ 0 & (i = 0,1, \ldots,n - 2), \end{cases}\displaystyle \end{aligned}$$
(10)
$$\begin{aligned}& b''_{i,n}(0) = \textstyle\begin{cases} n(n - 1) + 2\lambda_{1}n &(i = 0), \\ - [2n(n - 1) + 2n\lambda_{1} + 2\lambda_{2}] &(i = 1) ,\\ n(n - 1) + 2\lambda_{2} & (i = 2) ,\\ 0 & (i = 3,4, \ldots,n), \end{cases}\displaystyle \end{aligned}$$
(11)
$$\begin{aligned}& b''_{i,n}(1) = \textstyle\begin{cases} n ( n - 1 ) + 2\lambda_{n}n & (i = n), \\ - [ 2n\lambda_{n} + 2n ( n - 1 ) + 2\lambda_{n - 1} ] &(i = n - 1) ,\\ n ( n - 1 ) + 2\lambda_{n - 1} & (i = n - 2), \\ 0& (i = 0,1, \ldots,n - 3). \end{cases}\displaystyle \end{aligned}$$
(12)
For the terminal properties (7)-(12) of the basis functions, as well as the definition of the Q-Bézier curve, we can produce the terminal properties (6) of the Q-Bézier curve, thus, proving Theorem 2. □
Figure 1 shows the influence on the shapes of Q-Bézier curves of degree 4 by altering four parameters on the curves. Figure 1(a) shows the curves with \(\lambda_{2} = 2\), \(\lambda_{3} = 1\), \(\lambda_{4} = - 1\), \(\lambda_{1} = 1\) (solid lines), \(\lambda_{1} = - 1\) (dashed lines), \(\lambda_{1} = - 2\) (dotted lines). Figure 1(b) shows the curves with \(\lambda_{1} = - 2\), \(\lambda_{3} = 2\), \(\lambda_{4} = 1\), \(\lambda_{2} = 1\) (solid lines), \(\lambda_{2} = - 4\) (dashed lines), \(\lambda_{2} = 4\) (dotted lines). Figure 1(c) shows the curves with \(\lambda_{1} = 1\), \(\lambda_{2} = 3\), \(\lambda_{4} = - 1\), \(\lambda_{3} = 1\) (solid lines), \(\lambda_{3} = - 5\) (dashed lines), \(\lambda_{3} = 4\) (dotted lines). Figure 1(d) shows the curves with \(\lambda_{1} = 1\), \(\lambda_{2} = 1\), \(\lambda_{3} = - 2\), \(\lambda_{4} = - 3\) (solid lines), \(\lambda_{4} = - 1\) (dashed lines), \(\lambda_{4} = 1\) (dotted lines). The broken lines indicate the control polygons, and the circular points indicate control points of the curve.