({{, (RefLink[BezierFunction, paclet:ref/BezierFunction])[{(Subscript[pt, 1]),(Subscript[pt, 2]),…}] 
represents a Bézier function for a curve defined by the control points (Subscript[pt, i]).}, {, (RefLink[BezierFunction, paclet:ref/BezierFunction])[array]
represents a Bézier function for a surface or high-dimensional manifold. }})

OpenersNotesSection(Spacer1)Details and Options

(RefLink[BezierFunction, paclet:ref/BezierFunction])[…][u] gives the point on a Bézier curve corresponding to parameter u.

(RefLink[BezierFunction, paclet:ref/BezierFunction])[…][u,v,…] gives the point on a general Bézier manifold corresponding to the parameters u, v, ….

The embedding dimension for the curve represented by (RefLink[BezierFunction, paclet:ref/BezierFunction])[{(Subscript[pt, 1]),(Subscript[pt, 2]),…}] is given by the length of the lists (Subscript[pt, i]).

(RefLink[BezierFunction, paclet:ref/BezierFunction])[array] can handle arrays of any depth, representing manifolds of any dimension.

The dimension of the manifold represented by (RefLink[BezierFunction, paclet:ref/BezierFunction])[array] is given by (RefLink[ArrayDepth, paclet:ref/ArrayDepth])[array]-1. The lengths of the lists that occur at the lowest level in array define the embedding dimension.

The parameters u, v, … by default run from 0 to 1 over the domain of the curve or other manifold.

OpenersPrimaryExamplesSection(Spacer1)Examples  (2)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Construct a Bézier curve using a list of control points:

pts={{0,0},{1,1},{2,0},{3,2}};

f=BezierFunction[pts]

Apply the function to find a point on the curve:

f[.5]

Plot the Bézier curve with the control points:

Show[Graphics[{Red,Point[pts],Green,Line[pts]},Axes->True],ParametricPlot[f[t],{t,0,1}]]

Single cubic Bézier surface patch:

pts={{{0,0,0},{0,1,0},{0,2,0},{0,3,0}},{{1,0,0},{1,1,1},{1,2,1},{1,3,0}},
{{2,0,0},{2,1,1},{2,2,1},{2,3,0}},
{{3,0,0},{3,1,0},{3,2,0},{3,3,0}}};

f=BezierFunction[pts]

Show[Graphics3D[{PointSize[Medium],Red,Map[Point,pts]}],
Graphics3D[{Gray,Line[pts],Line[Transpose[pts]]}],ParametricPlot3D[f[u,v],{u,0,1},{v,0,1},Mesh->None]]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[BezierCurve, paclet:ref/BezierCurve])  ▪  (RefLink[BSplineFunction, paclet:ref/BSplineFunction])  ▪  (RefLink[BSplineBasis, paclet:ref/BSplineBasis])  ▪  (RefLink[BernsteinBasis, paclet:ref/BernsteinBasis])  ▪  (RefLink[Interpolation, paclet:ref/Interpolation])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Splines, paclet:guide/Splines])}, {▪(RefLinkPlain[Curve Fitting & Approximate Functions, paclet:guide/CurveFittingAndApproximateFunctions])}})}})