2
$\begingroup$

If I have a Bézier spline of degree 3 (points $P_{000}$ ->$P_{111}$, and I want to elevate up to degree 6 $Q_{000\,000}$ -> $Q_{111\,111}$. I could do this by calculating the weight of each point $P$ to get $Q$. This would result in this case in a matrix as follows. $$ \begin{bmatrix}Q_{000000}\\Q_{000001}\\Q_{000011}\\Q_{000111}\\Q_{001111}\\Q_{011111}\\Q_{111111}\end{bmatrix} = \frac{1}{20}\begin{bmatrix}20&0&0&0\\10&10&0&0\\4&12&4&0\\1&9&9&1\\0&4&12&4\\0&0&10&10\\0&0&0&20\end{bmatrix}\begin{bmatrix}P_{000}\\P_{001}\\P_{011}\\P_{111}\end{bmatrix} $$

(sorry for embedding the thing in another matrix, I don't know how to correctly align them)

Now this matrix I'm multiplying P with in order to get Q strikes a resembles to an ordinary Pascal triangle, which would be something like.

\begin{bmatrix}1&0&0&0\\1&1&0&0\\1&2&1&0\\1&3&3&1\end{bmatrix} Which makes me think there must be an easier, more practical way to get this matrix I'm multiplying with, rather than calculating each term as I'm doing now.

$\endgroup$
4
  • $\begingroup$ See en.m.wikipedia.org/wiki/…. The section just before that discusses single elevation, from which a recurrence for these coefficients can be obtained if you don’t want to use the direct computation. I’d guess that one could build up the final matrix as a product of single-step matrices, but I’m not sure that would be any more efficient than computing the final coefficients directly, especially if you take advantage of symmetries. $\endgroup$
    – amd
    Commented Aug 17, 2017 at 23:44
  • 1
    $\begingroup$ I guess the "trick" I was looking for was constructing two ordinary pascal triangles (one in the upper left corner, and one the in lower right corner) and multiplying the corresponding numbers, in order to achieve the multiplication matrix. $\endgroup$
    – Actaeonis
    Commented Aug 18, 2017 at 0:21
  • 1
    $\begingroup$ @Actaeonis That needs to be an answer. $\endgroup$ Commented Aug 18, 2017 at 0:44
  • $\begingroup$ Notice, too, the relationship between the entries of the multi-step matrix and the P.M.F. of a hypergeometric distribution. Tricks for computing probabilities of the latter will apply to your matrix as well. $\endgroup$
    – amd
    Commented Aug 18, 2017 at 1:18

1 Answer 1

1
$\begingroup$

The slick approach to degree elevation is via blossoming. The notation you're using suggests that maybe you know what this is, so I won't explain the concept here. The technique is shown in these notes. He does the quadratic-to-quartic case, from which you can get the idea. The blossom for the polynomial of degree $6$ will be a sum of $20$ terms. It's $20$ because $20 = \binom{6}{3}$. That's the only connection I see with Pascal's triangle.

Another (conceptually simpler) approach is the one you mentioned. Just write down the one-step degree elevation matrices and multiply them together. The one-step matrices have a simple form. The matrix $\mathbf{A} = (a_{ij})$ that elevates from degree $m$ to degree $m+1$ is of size $(m+1) \times m$, and its only non-zero elements are $$a_{ii} = 1 - \frac{i-1}{m} \quad; \quad a_{i+1,i} = \frac{i}{m} \quad (i=1,2,\ldots,m) $$ From this, you might be able to develop a closed-form formula for the product of several of them.

Yet another approach: convert your cubic to monomial (power basis) form, append three terms with zero coefficients, and then convert back to Bézier form. The conversions can both be represented by matrix multiplications, as explained in section 7 of these notes, and many other places. This way, you only have to multiply two matrices. The elements of the two matrices are given by various binomial coefficients, so this might give you a connection to Pascal's triangle.

And finally ... regarding the comment in the second paragraph about deriving a closed-form formula. You don't need to do this because it has already been done (I just discovered). If $\mathbf{P}_0, \ldots, \mathbf{P}_m$ are the control points of a curve of degree $m$, and $\mathbf{Q}_0, \ldots, \mathbf{Q}_{m+r}$ are the control points after raising the degree to $m+r$, then $$ \mathbf{Q}_j = \sum_{i=0}^m \frac{\binom{m}{i} \binom{r}{j-i}}{\binom{m+r}{j} }\mathbf{P}_i \quad\quad (j = 0,1,\ldots, m+r) $$ I found this in a paper by Trump and Prautzsch, CAGD 13 (1996), pp. 387-398, but it was known much earlier than this.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .