WOLFRAM

Enable JavaScript to interact with content and submit forms on Wolfram websites. Learn how
Wolfram Language & System Documentation Center

SplineKnots

is an option for B-spline functions and graphics primitives that specifies the positions of knots.

Details
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Generalizations & Extensions  
Properties & Relations  
See Also
Related Guides
History
Cite this Page

SplineKnots

is an option for B-spline functions and graphics primitives that specifies the positions of knots.

Details

  • The following settings can be given:
  • Automatic knots arranged uniformly (with clamping)
    {u1,u2,} knots at positions u1, u2,
    {list1,list2,} knot positions in several dimensions
    "Clamped" uniform with clamping
    "Unclamped" uniform without clamping
  • Knots indicate breakpoints in the piecewise parametrization of B-spline functions.
  • For a B-spline function with n control points in a particular dimension and a polynomial basis of degree d, n+d+1 knots must be specified.
  • SplineKnots ->Automatic specifies that knots should be chosen uniformly, but with additional knots added so that the function spans from the first control point to the last.
  • SplineKnots ->"Unclamped" yields knots that are uniform, but do not necessarily span from the first control point to the last.

Examples

open all close all

Basic Examples  (2)

SplineKnots ->Automatic generates knots in such a way that the curve is smooth overall:

Wolfram Language code: pts = {{0, 0}, {0, 2}, {2, 3}, {4, 0}, {6, 3}, {8, 2}, {8, 0}};
Wolfram Language code: Graphics[{Green, Line[pts], Red, Point[pts], Orange, BSplineCurve[pts, SplineKnots -> Automatic]}]

By repeating knots, one can decrease the smoothness of the curve:

Wolfram Language code: pts = {{0, 0}, {0, 2}, {2, 3}, {4, 0}, {6, 3}, {8, 2}, {8, 0}};
Wolfram Language code: Graphics[{Green, Line[pts], Red, Point[pts], Orange, BSplineCurve[pts, SplineKnots -> {0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2}]}]

Scope  (1)

Uniform knots that do not go through the end points:

Wolfram Language code: pts = {{0, 0}, {0, 2}, {2, 3}, {4, 0}, {6, 3}, {8, 2}, {8, 0}};
Wolfram Language code: Graphics[{Green, Line[pts], Red, Point[pts], Orange, BSplineCurve[pts, SplineKnots -> "Unclamped"]}]

Generalizations & Extensions  (1)

Unclamped knots combined with SplineClosed will make a uniform periodic B-spline curve:

Wolfram Language code: pts = {{0, 0}, {1, 0}, {1, 1}, {0, 1}};
Wolfram Language code: Graphics[{FaceForm[], EdgeForm[Green], Polygon[pts], Red, Point[pts], Orange, BSplineCurve[pts, SplineClosed -> True, SplineKnots -> "Unclamped"]}]

Properties & Relations  (2)

Using clamped knots will force interpolation of the first and last control points:

Wolfram Language code: cpts = {{0, 0}, {1, 1}, {2, -1}, {3, 0}, {4, -2}, {5, 1}};
Wolfram Language code: Graphics[{Point[cpts], BSplineCurve[cpts, SplineKnots -> "Clamped"]}]

Explicit knots corresponding to clamped knots:

Wolfram Language code: {Graphics[{BSplineCurve[cpts, SplineKnots -> "Clamped"]}], Graphics[{BSplineCurve[cpts, SplineKnots -> {0, 0, 0, 0, 1, 2, 3, 3, 3, 3}]}]}

Using unclamped knots, typically used for closed curves:

Wolfram Language code: cpts = {{0, 0}, {1, 1}, {2, -1}, {3, 0}, {4, -2}, {5, 1}};
Wolfram Language code: Graphics[{Point[cpts], BSplineCurve[cpts, SplineKnots -> "Unclamped"]}]

Explicit knots corresponding to unclamped knots:

Wolfram Language code: {Graphics[{BSplineCurve[cpts, SplineKnots -> "Unclamped"]}], Graphics[{BSplineCurve[cpts, SplineKnots -> Range[10]]}]}
Wolfram Research (2008), SplineKnots, Wolfram Language function, https://reference.wolfram.com/language/ref/SplineKnots.html.

Text

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

CMS

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

APA

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

BibTeX

@misc{reference.wolfram_2026_splineknots, author="Wolfram Research", title="{SplineKnots}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/SplineKnots.html}", note=[Accessed: 05-September-2026]}

BibLaTeX

@online{reference.wolfram_2026_splineknots, organization={Wolfram Research}, title={SplineKnots}, year={2008}, url={https://reference.wolfram.com/language/ref/SplineKnots.html}, note=[Accessed: 05-September-2026]}

Top [フレーム]

AltStyle によって変換されたページ (->オリジナル) /