BSplineCurve

BSplineCurve[{pt1,pt2,}]

制御点 ptiを持つ,一様ではない有理Bスプライン曲線を表すグラフィックスプリミティブである.

詳細とオプション

  • BSplineCurveは,基底スプライン曲線あるいは不均一有理Bスプライン(NURBS)曲線としても知られている.
  • BSplineCurveGraphicsおよびGraphics3D(2Dおよび3Dのグラフィックス)に用いることができる.
  • 制御点の位置は{x,y}または{x,y,z}のような一般座標,あるいはScaled[{x,y}]またはScaled[{x,y,z}]のようなスケールされた座標で指定できる.
  • 2Dでは,座標指定にOffsetおよびImageScaledを用いることができる.
  • 使用可能なオプション
  • SplineDegreeAutomatic多項式基底の次数
    SplineKnotsAutomaticスプラインの結び目の列
    SplineWeightsAutomatic制御点の重みの制御
    SplineClosedFalse曲線を閉じるかどうか
  • デフォルトで,BSplineCurveは三次スプラインを使う.
  • オプション設定のSplineDegree->d はもとになっている多項式基底が最大次数 d を持つように指定する.
  • デフォルトで,ノットはパラメータ空間で一様に選ばれ,曲線が最初の制御点で始まり最後の制御点で終るように追加的なノットが加えられる.
  • SplineKnotsの明示的な設定で,多項式基底の次数は指定されたノットと制御点の数から決定される.
  • デフォルト設定のSplineWeights->Automaticでは,すべての制御点が多項式Bスプライン曲線に対応する等しい重みを持つように選ばれる.
  • 曲線の太さはThickおよびThinに加えThicknessあるいはAbsoluteThicknessでも指定できる.
  • 曲線の破線は DashedDotted等に加えDashingあるいはAbsoluteDashingでも指定できる.
  • 曲線の陰影あるいは彩色はCMYKColorGrayLevelHueOpacityあるいはRGBColorで指定できる.
  • BSplineCurveの個々の座標および座標のリストがDynamicオブジェクトであることもある.

例題

すべて開くすべて閉じる

  (1)

2DのBスプライン曲線とその制御点:

3DのBスプライン曲線とその制御点:

スコープ  (12)

曲線の指定  (5)

三次Bスプライン曲線:

同じ制御点を持つが次数が異なるBスプライン曲線:

デフォルトで,Bスプライン曲線は開いている:

閉じたBスプライン曲線には終点に最初の制御点が自動的に加えられる:

曲線の滑らかさを制御するために明示的にノットを指定することができる:

各点に重みを指定することができる:

曲線のスタイリング  (4)

太さの異なるBスプライン曲線:

スケールされたサイズでの太さ:

印刷用ポイント数での太さ:

破線の曲線:

彩色された曲線:

座標指定  (3)

スケールされた(Scaled)座標を使う:

2DでImageScaled座標を使う:

2DでOffset座標を使う:

一般化と拡張  (4)

連続するノット  (3)

デフォルトで,曲線が全体的に滑らかになるようにノットが生成される:

ノットを繰り返すと曲線の滑らかさが失われる:

"Unclamped"は均一のノットを生成し,曲線は終点を通らなくなる:

SplineClosedと固定していないノットを組み合せると均一の周期的Bスプライン曲線が生成される:

制御点の重み  (1)

デフォルトで,すべての制御点が同じ重みを持つ:

ある制御点により大きい重みを持たせると,曲線はその点に引き寄せられる:

アプリケーション  (5)

グリフと形  (1)

重みを使うことで,円のような有理Bスプラインを作ることができる:

補間  (2)

補間する6点を選ぶ:

制御点間の距離を計算する:

距離についての正規化されたパラメータを計算する(弦長のパラメータ化):

固定ノットを持つ三次Bスプライン曲線が使われる:

解を得るために二次基底行列を設定する:

制御点を得るために線形系を解く:

補間曲線をもとのデータとともに示す:

補間のために3Dの点を選ぶ:

制御点間の距離を計算する:

距離についての正規化されたパラメータを計算する(弦長のパラメータ化):

固定されたノットを持つBスプライン曲線が使われる:

解を得るために二次基底行列を設定する:

制御点を得るために線形系を解く:

補間曲線をもとのデータとともに示す:

最小二乗フィット  (1)

ランダムノイズで近似する点のリストのサンプルを取る:

一様にパラメータ化する手法を取る:

指定された制御点の数と次数で固定ノットを生成する関数を定義する:

最小二乗のための基底行列を定義する:

フィットには12の制御点を持つ三次Bスプライン曲線が使われる:

データを曲線とともに示す:

結果を異なる数の制御点とともに示す:

制御点が12個で次数が異なるいくつかの結果:

幾何学的不変性  (1)

あるBスプライン曲線から他のBスプライン曲線への線形転移:

特性と関係  (6)

次数1のBスプライン曲線は直線に等しい:

Bスプライン曲線はアフィン不変量である:

Bスプライン曲線は制御点の部分集合の凸包の和集合内にある:

3Dでは,平面の制御点を持つBスプライン曲線は平面上にある:

BSplineBasisを使ってBスブライン曲線オブジェクトを構築することができる:

個々の基底関数は有界のサポートを持つ:

ノットを変えるとBSplineCurveと同じように基底関数に影響が出る:

制御点の2つの集合の平均から生成されたBスプライン曲線:

新たな曲線は2本のBスプライン曲線の平均である:

Wolfram Research (2008), BSplineCurve, Wolfram言語関数, https://reference.wolfram.com/language/ref/BSplineCurve.html.

テキスト

Wolfram Research (2008), BSplineCurve, Wolfram言語関数, https://reference.wolfram.com/language/ref/BSplineCurve.html.

CMS

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

APA

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

BibTeX

@misc{reference.wolfram_2024_bsplinecurve, author="Wolfram Research", title="{BSplineCurve}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/BSplineCurve.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_bsplinecurve, organization={Wolfram Research}, title={BSplineCurve}, year={2008}, url={https://reference.wolfram.com/language/ref/BSplineCurve.html}, note=[Accessed: 22-November-2024 ]}