BSplineBasis[d,x]
x における次数 d の零次一様Bスプライン基底関数を与える.
BSplineBasis[d,n,x]
次数 d の n
次一様Bスプライン基底関数を与える.
BSplineBasis[{d,{u1,u2,…}},n,x]
次数 d で位置 uiにおける結び目を持つ n
次非一様Bスプライン基底関数を与える.
BSplineBasis
BSplineBasis[d,x]
x における次数 d の零次一様Bスプライン基底関数を与える.
BSplineBasis[d,n,x]
次数 d の n
次一様Bスプライン基底関数を与える.
BSplineBasis[{d,{u1,u2,…}},n,x]
次数 d で位置 uiにおける結び目を持つ n
次非一様Bスプライン基底関数を与える.
詳細
- 記号操作・数値操作の両方に適した数学関数である.
- BSplineBasis[d,x]はBSplineBasis[d,0,x]と等価である.
- BSplineBasis[d,n,x]は
から
までの x 区間のみで非零の値を持つBスプライン基底関数を与える. - BSplineBasis[{d,{u1,u2,…,um}},n,x]は,u1から umまでの x 区間でのみ非零の値を持つBスプライン基底関数を与える.
- 結び目の位置 uiは非減少列を形成しなければならない.
- n が取り得る値の範囲は0から m-d-2までである.
- PiecewiseExpandを使って記号的なBSplineBasis関数を明示的な区分多項式に展開することができる.
例題
すべて開く すべて閉じる例 (4)
BSplineBasis[3, 0.5]Plot[BSplineBasis[3, x], {x, 0, 1}]次数2の三次Bスプライン基底を与えられた結び目とともに評価する:
knots = {0, 0, 0, 0, 1 / 3, 2 / 3, 1, 1, 1, 1};BSplineBasis[{3, knots}, 2, 0.5]すべての三次基底関数を与えられた結び目とともにプロットする:
Plot[Evaluate[Table[BSplineBasis[{3, knots}, i, x], {i, 0, 5}]], {x, 0, 1}]knots = {0, 0, 0, 1 / 3, 2 / 3, 1, 1, 1};D[BSplineBasis[{2, knots}, 2, x], {x, 1}]Table[Plot[Evaluate[D[BSplineBasis[{2, knots}, 2, x], {x, i}]], {x, 0, 1}], {i, 0, 2}]スコープ (1)
TraditionalFormによる表示:
BSplineBasis[{3, {0, 0, 0, 0, 1 / 3, 2 / 3, 1, 1, 1, 1}}, 1, x]//TraditionalFormInputForm[%]特性と関係 (3)
Bスプライン基底関数の非零の部分は結び目の範囲で与えられる:
k1 = {0, 0, 0, 0, 1 / 3, 2 / 3, 1, 1, 1, 1};
k2 = 2 k1;
k3 = k1 + 1;Table[Plot[BSplineBasis[{3, k}, 2, x], {x, 0, 2}, PlotRange -> {0, 1}, PlotLabel -> Style[k, Small]], {k, {k1, k2, k3}}]Table[Plot3D[BSplineBasis[{3, k}, 2, x]BSplineBasis[{3, k}, 2, y], {x, 0, 2}, {y, 0, 2}, PlotRange -> {0, 1 / 2}, Mesh -> None, Boxed -> False], {k, {k1, k2, k3}}]knots = {0, 0, 0, 0, 1 / 3, 2 / 3, 1, 1, 1, 1};Plot[Evaluate[Sum[BSplineBasis[{3, knots}, i, x], {i, 0, 5}]], {x, 0, 1}, Axes -> False, Frame -> True]最大で d+1個の基底関数が d が次数である部分の総和に関連している:
Plot[Evaluate[Table[BSplineBasis[{3, knots}, i, x], {i, 0, 5}]], {x, 0, 1}]BSplineBasisはBSplineCurveを構築するのに使うことができる:
knots = {0, 0, 0, 1 / 4, 1 / 2, 3 / 4, 1, 1, 1};pts = {{0, -1}, {1, 1}, {2, -1}, {3, -1}, {4, 1}, {5, -1}};f[t_] := Sum[pts[[i + 1]]BSplineBasis[{2, knots}, i, t], {i, 0, 5}]{ParametricPlot[f[t], {t, 0, 1}, Frame -> True, Axes -> False, PlotRange -> {All, {-1, 1}}], Graphics[BSplineCurve[pts, SplineDegree -> 2], Frame -> True]}関連するガイド
-
▪
- スプライン
テキスト
Wolfram Research (2008), BSplineBasis, Wolfram言語関数, https://reference.wolfram.com/language/ref/BSplineBasis.html.
CMS
Wolfram Language. 2008. "BSplineBasis." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BSplineBasis.html.
APA
Wolfram Language. (2008). BSplineBasis. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BSplineBasis.html
BibTeX
@misc{reference.wolfram_2026_bsplinebasis, author="Wolfram Research", title="{BSplineBasis}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/BSplineBasis.html}", note=[Accessed: 10-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_bsplinebasis, organization={Wolfram Research}, title={BSplineBasis}, year={2008}, url={https://reference.wolfram.com/language/ref/BSplineBasis.html}, note=[Accessed: 10-August-2026]}