Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Modify a BSplineCurve object to have explicit settings for certain options
ResourceFunction["FullBSplineCurve"][spline] generates an equivalent BSplineCurve object with explicit values given for the options SplineDegree,SplineKnots and SplineWeights.  | 
A basic BSplineCurve:
| In[1]:= | 
| Out[2]= | 
An equivalent BSplineCurve where all options are made explicit:
| In[3]:= | 
| Out[3]= | 
Show the original spline in red and the new spline in blue with partial opacity. The blended color of the curve indicates that the two splines are equivalent:
| In[4]:= | 
| Out[4]= | ![]()  | 
Comparison of combinations of option settings for SplineClosed and SplineKnots:
| In[5]:= | ![]()  | 
| Out[6]= | ![]()  | 
Comparison of varying SplineDegree:
| In[7]:= | ![]()  | 
| Out[8]= | ![]()  | 
Using lists of symbolic points and weights:
| In[9]:= | ![]()  | 
| Out[9]= | ![]()  | 
With SplineClosed→True and an explicit list for the SplineKnots option, the original BSplineCurve is returned with a message:
| In[10]:= | ![]()  | 
| Out[10]= | ![]()  | 
This work is licensed under a Creative Commons Attribution 4.0 International License