11453

Global B-Spline Curve Interpolation

This Demonstration shows the method of global B-spline curve interpolation. The implementation is fully described in the Details.
  • Contributed by: Shutao Tang
  • (Northwestern Polytechnical University, Xi'an, China)

SNAPSHOTS

  • [Snapshot]
  • [Snapshot]
  • [Snapshot]

DETAILS

Given a set of points , , this Demonstration interpolates between these points using a degree nonrational B-spline curve. Assigning a parameter value to each and selecting an appropriate knot vector leads to the system of linear equations
. (1)
The control points are the unknowns. Let be the number of coordinates in the (typically 2, 3, or 4). Equation (1) has one coefficient matrix with elements in the right-hand column and, correspondingly, solution sets for the coordinates of the .
The problem of choosing the and remains; their choice affects the shape and parametrization of the curve. Assume that the parameter lies in the range . Three common methods of choosing the are, with ():
Equal spacing:
, , , (2)
Chord length:
let , then
, , (3)
Centripetal:
let , then
, , (4)
Lastly, the following method was used to generate the knots ():
, , . (5)
Here is an example of an application of this algorithm:
Let , and assume the interpolation is a cubic curve. Use equations (3) and (5) to compute the and , and then set up the system of linear equations, equation (1). The separate chord lengths are given by
, , , and the total chord length is . Thus
, , , , .
So .
Thus
The system of linear equations is then represented by
Reference
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer–Verlag, 1997.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.









 
RELATED RESOURCES
Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2017 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+