Global B-Spline Surface Interpolation

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


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


Given a set of data points , and , this Demonstration constructs a nonrational -degree B-spline surface interpolating these points, namely:
Again, the first order of business is to compute reasonable values for the and the knot vectors and . We show how to compute the ; the are analogous.
A common method is to use equations (2) or (3) to compute parameters , , ⋯, for each and then to obtain each by averaging across all for , that is,
, ,
where for each fixed , was computed by equation (2) or (3).
(a) Let , then
, for , and . (2)
(b) Let , then
for , and . (3)
Once the are computed, the knot vectors and can be obtained by equation (4):
, , , . (4)
Now to the computation of the control points. Clearly, equation (1) represents linear equations in the unknown . However, since is a tensor product surface, the can be obtained more simply and efficiently as a sequence of curve interpolations.
For fixed , write equation (1) as
, (5)
where . (6)
Notice that equation (5) is just curve interpolation through the points . The are the control points of the isoparametric curve on at fixed . Now fixing and letting vary, equation (6) is curve interpolation through the points , with as the computed control points. Thus, the algorithm to obtain all the is as follows:
1. Using and the , do curve interpolations through , which yields the .
2. Using and the , do curve interpolations through , which yields the .
[1] L. Piegl and W. Tiller, The NURBS Book, 2nd ed., Berlin: Springer-Verlag, 1997 pp. 376–382.
    • 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.

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 © 2018 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+