Skip to main content
added 156 characters in body
Source Link
Domen
  • 33.4k
  • 3
  • 47
  • 66

This is the full internal representation of BSplineFunction with all relevant parameters. You can fiddle around with the options, then open the information box and compare the values to find the correspondence.

pts = {{0, 100}, {200, 50}, {200, 0}, {300, 50}};
BSplineFunction[pts, SplineClosed -> True]
% // InputForm

enter image description here

The syntax is therefore:

BSplineFunction[Rank, ?, SplineDegree, SplineClosed,
  {ControlPoints, SplineWeights}, SplineKnots, ?, WorkingPrecision, "Unevaluated"]

I don't know what the second argument means (it seems to always be a list with rank repeats of {0., 1.}), and the last argument seems to always be "Unevaluated". It looks like changing any of them doesn't affect the spline. There is also an argument before WorkingPrecision which I was unable to identify – it corresponds to DerivativeOrder as shown in xzczd's answer.

This is the full internal representation of BSplineFunction with all relevant parameters. You can fiddle around with the options, then open the information box and compare the values to find the correspondence.

pts = {{0, 100}, {200, 50}, {200, 0}, {300, 50}};
BSplineFunction[pts, SplineClosed -> True]
% // InputForm

enter image description here

The syntax is therefore:

BSplineFunction[Rank, ?, SplineDegree, SplineClosed,
  {ControlPoints, SplineWeights}, SplineKnots, WorkingPrecision, "Unevaluated"]

I don't know what the second argument means (it seems to always be a list with rank repeats of {0., 1.}), and the last argument seems to always be "Unevaluated". It looks like changing any of them doesn't affect the spline.

This is the full internal representation of BSplineFunction with all relevant parameters. You can fiddle around with the options, then open the information box and compare the values to find the correspondence.

pts = {{0, 100}, {200, 50}, {200, 0}, {300, 50}};
BSplineFunction[pts, SplineClosed -> True]
% // InputForm

enter image description here

The syntax is therefore:

BSplineFunction[Rank, ?, SplineDegree, SplineClosed,
  {ControlPoints, SplineWeights}, SplineKnots, ?, WorkingPrecision, "Unevaluated"]

I don't know what the second argument means (it seems to always be a list with rank repeats of {0., 1.}), and the last argument seems to always be "Unevaluated". It looks like changing any of them doesn't affect the spline. There is also an argument before WorkingPrecision which I was unable to identify – it corresponds to DerivativeOrder as shown in xzczd's answer.

Source Link
Domen
  • 33.4k
  • 3
  • 47
  • 66

This is the full internal representation of BSplineFunction with all relevant parameters. You can fiddle around with the options, then open the information box and compare the values to find the correspondence.

pts = {{0, 100}, {200, 50}, {200, 0}, {300, 50}};
BSplineFunction[pts, SplineClosed -> True]
% // InputForm

enter image description here

The syntax is therefore:

BSplineFunction[Rank, ?, SplineDegree, SplineClosed,
  {ControlPoints, SplineWeights}, SplineKnots, WorkingPrecision, "Unevaluated"]

I don't know what the second argument means (it seems to always be a list with rank repeats of {0., 1.}), and the last argument seems to always be "Unevaluated". It looks like changing any of them doesn't affect the spline.