The Essentials of CAGD

10.3: Practicalities of the de Boor Algorithm

10.3 Practicalities of the de Boor Algorithm

Before making changes to the algorithm, let's take another look at knot multiplicity and a data structure issue. When evaluating a curve for display, you will have to choose an increment which you use to step along the curve. For piecewise polynomials, it is a good idea to specify this increment for each segment, otherwise you might miss a possible corner of your curve. As we have seen, the segments correspond to the non-zero length knot intervals. Since we want to avoid plotting zero-length segments, it is a good idea to label such segments as part of your data structure.

So far, we have described a knot sequence as a one-dimensional floating point array with every knot stored explicitly. This is sometimes called the expanded knot sequence. An alternative approach would be to store only the unique floating point values, and then create an integer array which indicates each knot's multiplicity. [2] This array is called the knot multiplicity vector. It is also possible to combine the two approaches above, as illustrated in the following example.

Example 10.6

We list the knot sequence (value and index) and below it, the multiplicity vector.


The first knot in a multiplicity is given the multiplicity value, and the other knots are given multiplicity zero.

Another example:


First of all, we search only within the domain knots for non-zero length intervals. Then, nonzero length intervals will be denoted by a multiplicity vector value of...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Speed Logs
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.