Processing math: 100%

数値解析 第4回 (4) スプライン補間

3 次スプライン補間

 CG や CAD では通って欲しい点をまばらに与えて滑らかな曲線を描きますが、 先程の例で見たとおり、 観測点の間隔が広いときのラグランジュ補間には次のような欠点がありました:
  • 低次のラグランジュ補間は滑らかさに欠ける
  • 高次のラグランジュ補間には不自然な凹凸がある
そこで考え出されたのが
3 次スプライン補間のアイデア 区間 Ik=[xk,xk+1] ごとにひとつずつ 3 次式 pk(x) を作って、 それらを「上手に」つなぎます。
  1. 区間 Ik の両端では観測値に一致させます:
    pk(xk)=yk,   pk(xk+1)=yk+1
  2. 区間 IkIk+1 のつなぎ目 xk+1 では 1 階微分、 2 階微分の値を一致させます:
    pk(xk+1)=pk+1(xk+1),   pk(xk+1)=pk+1(xk+1)

3 次スプライン補間の例

 観測点 x=0, 1, 2, 3 に対して観測値を指定して 3 次スプライン補間で曲線を描く Excel ドキュメントも作りました。 次の場所に置いておきます: 黄色のセルの値を書き換えると自動的にグラフも書き換えますので 遊んでみてください。 こんなグラフができます。

その他の補間法の例

 たとえば、「制御点」を指定して曲線の形を制御する補間法として、 「B-スプライン補間」や「ベジェ曲線」と呼ばれるものがあります。 これらはロボットの軌跡生成などに用いられるそうです。 「組合せとグラフの理論」の教材 の図も、このベジェ曲線を postscript で直書きして描いてあります。