BSplineSurface

BSplineSurface[array]

is a graphics primitive that represents a nonuniform rational B-spline surface defined by an array of control points.

Details and Options

  • BSplineSurface is also known as basis spline surface and nonuniform rational B-spline (NURBS) surface.
  • BSplineSurface can be used in Graphics3D (three-dimensional graphics).
  • The positions of control points can be specified either in ordinary coordinates as {x,y,z}, or in scaled coordinates as Scaled[{x,y,z}].
  • The following options can be given:
  • SplineDegreeAutomaticdegree of polynomial basis
    SplineKnots Automaticknot sequence in each dimension
    SplineWeights Automaticcontrol point weights
    SplineClosedFalsewhether to make the surface closed
  • By default, BSplineSurface uses bicubic splines, corresponding to degree .
  • The option SplineDegree->d specifies maximal degree d in each direction. SplineDegree->{d1,d2} specifies different maximal degrees in the two directions within the surface.
  • By default, knots are chosen to be uniform and to make the surface reach the control points at the edges of the array.
  • SplineKnots->{list1,list2} specifies sequences of knots to use for the rows and columns of the array of control points.
  • 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.
  • SplineWeights are automatically chosen to be 1, corresponding to a polynomial B-spline surface.
  • FaceForm and EdgeForm can be used to specify how the interiors and boundaries of BSplineSurface objects should be rendered.
  • You can use graphics directives such as GrayLevel, RGBColor, and Opacity to specify how BSplineSurface objects should be rendered.
  • You can specify surface material properties using the graphics directives Specularity and Opacity.
  • You can use FaceForm[front,back] to specify different properties for front and back faces.
  • Individual coordinates and lists of coordinates in BSplineSurface can be Dynamic objects.

Examples

open allclose all

Basic Examples  (1)

A B-spline surface for an array of control points:

Show the control points together with the B-spline surface:

Options  (2)

SplineKnots  (1)

Create a 3D disk using BSplineSurface:

SplineWeights  (1)

Create a 3D disk using BSplineSurface:

Applications  (1)

Pipe section using a B-spline surface with weights:

Wolfram Research (2008), BSplineSurface, Wolfram Language function, https://reference.wolfram.com/language/ref/BSplineSurface.html.

Text

Wolfram Research (2008), BSplineSurface, Wolfram Language function, https://reference.wolfram.com/language/ref/BSplineSurface.html.

CMS

Wolfram Language. 2008. "BSplineSurface." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BSplineSurface.html.

APA

Wolfram Language. (2008). BSplineSurface. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BSplineSurface.html

BibTeX

@misc{reference.wolfram_2023_bsplinesurface, author="Wolfram Research", title="{BSplineSurface}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/BSplineSurface.html}", note=[Accessed: 18-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_bsplinesurface, organization={Wolfram Research}, title={BSplineSurface}, year={2008}, url={https://reference.wolfram.com/language/ref/BSplineSurface.html}, note=[Accessed: 18-March-2024 ]}