3次エルミートスプライン

数値解析において3次エルミートスプラインまたは3次エルミート補間器は、各部分がエルミート形式で指定された3次多項式、つまり対応する領域間隔の端点での値と1次導関数によって指定されたスプラインです。[1]

3次エルミートスプラインは、通常、与えられた引数値 における数値データの補間に用いられ連続関数を得ます。データは、各 における目的の関数値と導関数から構成されます。(値のみが与えられている場合は、導関数はそれらから推定する必要があります。)エルミート公式は各区間に個別に適用されます。結果として得られるスプラインは連続となり、1次導関数も連続となります。

3次多項式スプラインは他の方法でも指定できますが、最も一般的なのはベジェ3次スプラインです。しかし、これら2つの方法で得られるスプラインセットは同じであり、ベジェ形式とエルミート形式の間でデータの変換も容易であるため、これらの名前はしばしば同義語として使用されます。

3次多項式スプラインは、コンピュータグラフィックス幾何学的モデリングにおいて、平面または3次元空間上の特定の点を通過する曲線や運動軌跡を得るために広く用いられています。これらのアプリケーションでは、平面または空間の各座標は、個別のパラメータ tを持つ3次スプライン関数によって個別に補間されます。3次多項式スプラインは、オイラー・ベルヌーイ梁理論などの構造解析アプリケーションでも広く用いられています。3次多項式スプラインは、死亡率分析[2]や死亡率予測[3]にも応用されています。

3次スプラインは、いくつかの方法で2つ以上のパラメータを持つ関数に拡張できます。双3次スプライン(双3次補間)は、デジタル画像のピクセル地形の 高度データなど、規則的な長方形グリッド上のデータを補間するためによく使用されます。3つの双3次スプラインで定義される双3次曲面パッチは、コンピュータグラフィックスにおいて不可欠なツールです。

3次スプラインは、特にコンピュータグラフィックスではCスプラインと呼ばれることが多いです。エルミートスプラインは、シャルル・エルミートにちなんで名付けられました。

単一区間の補間

単位間隔 [0, 1]

4つのエルミート基底関数。各部分区間における補間関数は、これら4つの関数の線形結合です。

単位区間 において、 の開始点の終了点、開始接線と の終了接線が与えられている場合、多項式は によって定義されます。ここで、t ∈ [0, 1] です。

任意の間隔での補間

任意の区間における補間は、後者をアフィン(次数1)の変数変換によってに写像することによって行われます。式は、 、および は以下に定義される基底関数を指します。単位区間における式と比較して、接線値は でスケーリングされていることに注意してください

ユニークさ

上記の式は、指定された接線を持つ 2 つのポイント間の一意の 3 次多項式パスを提供します。

証明。与えられた境界条件を満たす2つの3次多項式を とします。そして、次を定義します

と はどちら三次多項式なので、は最大でも三次多項式である。したがって、 は の形になる 。導関数を計算すると、

さらに、

( 1 )と( 2 )を合わせると、 となりしたがって

表現

単位区間上の補間多項式は(任意の区間については上記の再スケール版を参照)、次のように表すことができますここで、、、エルミート基底関数です。これらは様々な方法で表すことができ、それぞれ異なる性質を示します。

拡大因数分解されたバーンスタイン

「展開」列は、上記の定義で用いられた表現を示しています。「因数分解」列は、境界においてとが零であることがすぐに分かります。さらに、とには0において重複度2の零点がありとには1において重複度2の零点があるため、これらの境界において傾きは0であると結論付けることができます。「ベルンシュタイン」列は、エルミート基底関数を3次のベルンシュタイン多項式に分解したものです

この関係を用いることで、4つの値に関して3次エルミート補間を3次ベジェ曲線で表現し、ド・カステルジョーアルゴリズムを用いてエルミート補間を行うことができます。これは、3次ベジェパッチにおいて、中央の2つの制御点が、それぞれの外側の点における補間曲線の接線を決定することを示しています。

多項式は標準​​形で次のように書くこともできます 。ここで、制御点と接線は係数です。これにより、定数係数を一度計算して再利用できるため、 tの様々な値における多項式を効率的に評価できます。

データセットの補間

データセットは、各区間に上記の手順を適用することで補間できます。ここで、接線は適切な方法で選択されます。つまり、端点を共有する区間の接線は等しくなります。補間された曲線は区分3次エルミートスプラインで構成され、 において大域的に連続的に微分可能です

接線の選択は一意ではなく、いくつかのオプションが利用可能です。

有限差分

差分接線の例

最も単純な選択は、一定の間隔の長さを必要としない 3 点差です。

内部ポイントについては、データセットのエンドポイントでの片側差です。

カーディナルスプライン

2Dにおけるカーディナルスプラインの例。直線は曲線を表し、四角形は制御点を表します。曲線は最初の点と最後の点には達していませんが、これらの点は曲線の形状に影響を与えます。張力パラメータは0.1です。

カーディナルスプライン(正準スプラインとも呼ばれる)[4]は、次の式で得られる[5]

接線の計算にはパラメータ c が使用されます。パラメータcは張力パラメータであり、区間[0, 1]内になければなりません。ある意味では、これは接線の「長さ」と解釈できます。c  = 1 を選択するとすべての接線がゼロになり、c  = 0を選択すると一様パラメータ化の場合に Catmull-Rom スプラインが生成されます。

キャットマル・ロムスプライン

等間隔の横軸を持つ黒点のCatmull-Rom三次補間の幾何学的解釈。[6]

選択された接線については

カーディナルスプラインの特殊なケースであるCatmull-Romスプラインが得られます。これはパラメータ間隔が均一であることを前提とします

曲線は、エドウィン・キャットマルラファエル・ロムにちなんで名付けられました。この手法の主な利点は、元の点セットに沿った点がスプライン曲線の制御点も構成することです。[7]曲線の両端に2つの追加点が必要です。均一なキャットマル・ロム実装では、ループと自己交差が発生する可能性があります。弦および求心的なキャットマル・ロム実装[8]はこの問題を解決しますが、若干異なる計算を使用します。[9]コンピュータグラフィックスでは、キャットマル・ロムスプラインは、キーフレーム間の滑らかな補間モーションを取得するために頻繁に使用されます。たとえば、離散キーフレームから生成されるほとんどのカメラパスアニメーションは、キャットマル・ロムスプラインを使用して処理されます。キャットマル・ロムスプラインが人気があるのは、主に計算が比較的簡単であること、各キーフレームの位置に正確に到達すること、生成された曲線の接線が複数のセグメントにわたって連続していることが保証されることです。

コハネク・バーテルススプライン

Kochanek –Bartels スプラインは、データ ポイント 、 が与えられた場合に接線を選択する方法をさらに一般化したものであり張力、バイアス、連続性パラメータの 3 つのパラメータを指定できます。

単調な3次補間

上記のいずれかのタイプの 3 次エルミート スプラインを単調データ セットの補間に使用する場合、補間関数は必ずしも単調にはなりませんが、接線を調整することで単調性を維持できます。

端点で一致する導関数を持つ単位区間上の補間

点の単一の座標とを、関数f ( x )が整数座標x  = n  − 1、nn  + 1、n + 2で取る値として考えると 、

さらに、端点における接線は、隣接する点の中心差として定義されていると仮定します。

実数xの補間f ( x ) を評価するには、まずx を整数部分nと小数部分uに分離します。

ここで、はfloor 関数を表し、 x以下の最大の整数を返します

すると、Catmull-Romスプラインは[10] で表され、 ここで は転置行列 を表す。下の式はホーナー法の適用を表している

この記述は三次補間に関連しており、1 つの最適化では同じuと異なるpを使用してCINT u を16 回計算する必要があります。

参照

参考文献

  1. ^ エルウィン・クライシグ (2005).高度工学数学(第9版). Wiley. p. 816. ISBN 9780471488859
  2. ^ Stephen Richards (2020). 「退職後死亡率のエルミートスプラインモデル」. Scandinavian Actuarial Journal (2). Taylor and Francis: 110– 127. doi :10.1080/03461238.2019.1642239.
  3. ^ Sixian Tang、Jackie Li、Leonie Tickle (2022). 「人口死亡率のモデリングにおけるエルミートスプラインアプローチ」Annals of Actuarial Science 17 (2) . Cambridge University Press: 1– 42. doi :10.1017/S1748499522000173.
  4. ^ Petzold, Charles (2009). 「WPFとSilverlightにおける標準スプライン」
  5. ^ 「カーディナルスプライン」。Microsoft Developer Network 2018年5月27日閲覧。
  6. ^ 3次補間は一意ではありません。Catmull-Romスプラインとラグランジュ基底多項式を用いたこのモデルは、4点すべてを通過します。注:黒点が黄色の点の左側にある場合、黄色の水平距離は負の値になります。黒点が緑の点の右側にある場合、緑の水平距離は負の値になります。
  7. ^ Catmull, Edwin ; Rom, Raphael (1974)、「局所補間スプラインのクラス」、Barnhill, RE; Riesenfeld, RF (編)、『Computer Aided Geometric Design』、ニューヨーク: Academic Press、pp.  317– 326
  8. ^ N. Dyn, MS Floater, K. Hormann. 反復弦および求心パラメータ化に基づく4点曲線分割. コンピュータ支援幾何学設計, 26(3):279–286, 2009.
  9. ^ PJ BarryとRN Goldman. Catmull-Romスプラインのクラスに対する再帰評価アルゴリズム. SIGGRAPH Computer Graphics, 22(4):199–204, 1988.
  10. ^ スプライン補間の2つの階層。多変数高次スプラインのための実用的なアルゴリズム。
  • スプライン曲線、ドナルド・H・ハウス教授(クレムソン大学)
  • 多次元エルミート補間と近似、パデュー大学チャンドラジット・バジャジ教授
  • Catmull–Rom スプライン入門、MVPs.org
  • カーディナルスプラインとキャットマル・ロムスプラインの補間
  • 補間方法: 線形、コサイン、キュービック、エルミート(C ソースを使用)
  • 一般的なスプライン方程式
Retrieved from "https://en.wikipedia.org/w/index.php?title=Cubic_Hermite_spline&oldid=1321448952"