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[...][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]=
New in 7
New to Mathematica? Find your learning path »
Have a question? Ask support »