BSplineFunction

BSplineFunction[{pt1,pt2,}]
represents a B-spline function for a curve defined by the control points .

BSplineFunction[array]
represents a B-spline function for a surface or high-dimensional manifold.

Details and OptionsDetails and Options

  • BSplineFunction is also known as basis spline, nonuniform rational B-spline (NURBS).
  • BSplineFunction[][u] gives the point on a B-spline curve corresponding to parameter u.
  • BSplineFunction[][u,v,] gives the point on a general B-spline manifold corresponding to the parameters u, v, .
  • The embedding dimension for the curve represented by BSplineFunction[{pt1,pt2,}] is given by the length of the lists .
  • BSplineFunction[array] can handle arrays of any depth, representing manifolds of any dimension.
  • The dimension of the manifold represented by BSplineFunction[array] is given by ArrayDepth[array]-1. The lengths of the lists that occur at the lowest level in the array define the embedding dimension.
  • BSplineFunction[array,d] creates a B-spline function of d variables.
  • The parameters u, v, by default run from 0 to 1 over the domain of the curve or other manifold.
  • The following options can be given:
  • SplineDegreeAutomaticdegree of polynomial basis
    SplineKnotsAutomaticknot sequence for spline
    SplineWeightsAutomaticcontrol point weights
    SplineClosedFalsewhether to make the spline closed
  • By default, BSplineFunction gives cubic splines.
  • The option setting SplineDegree->d specifies that the underlying polynomial basis should have maximal degree d.
  • By default, knots are chosen uniformly in parameter space, with additional knots added so that the curve starts at the first control point and ends at the last one.
  • With an explicit setting for SplineKnots, the degree of the polynomial basis is determined from the number of knots specified and the number of control points.
  • With the default setting SplineWeights->Automatic, all control points are chosen to have equal weights, corresponding to a polynomial B-spline function.
  • With the setting SplineClosed->{c1,c2,}, the boundaries are connected in directions i for which is True.

ExamplesExamplesopen allclose all

Basic Examples  (2)Basic Examples  (2)

Construct a B-spline curve using a list of control points:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

Apply the function to find a point on the curve:

In[3]:=
Click for copyable input
Out[3]=

Plot the B-spline curve with the control points:

In[4]:=
Click for copyable input
Out[4]=

Construct a B-spline surface closed in the u-direction:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=

Show the surface with the control points:

In[3]:=
Click for copyable input
Out[3]=
Introduced in 2008
(7.0)