• 締切済み

スプライン曲線について

2次のBスプライン曲線は x=(1-t)**2*x1+2*t*(1-t)*x2+t**2*x3 y=(1-t)**2*y1+2*t*(1-t)*y2+t**2*y3 で表わせるらしいのですがどのようにしたら求められるのでしょうか?教えてください.

みんなの回答

回答No.1

oyassan1102さん、こんにちは。 Bスプライン曲線について、少し調べてみました。 x=(1-t)^2*x1+2t(1-t)*x2+t^2*x3 y=(1-t)^2*y1+2t(1-t)*y2+t^2*y3 0≦t≦1 によって表される曲線のことのようです。 GordonとResenfeldが考案したもので、 連続した曲面パッチを1つの式で表現することにより 複数の曲面パッチをまとめてなめらかに接続できる、という手法のようです。 曲面式の中で制御点位置ベクター(ベクトルのこと?)で定義される ベジエに似た性質を持つ、とかかれています。 B-スプライン曲線は、複数のセグメントの集まりで 各セグメントはベジエ曲線の1セグメントとして表現することができます。 セグメントのつなぎ目に対応するパラメータ値はノットと呼ばれ 曲線全体の始点から終点に向けて、ノットの値は増えていくということです。 参考URLでは、3点 (x1,y1)(x2,y2)(x3,y3) があったときに、どのような曲線になるか描かれています。 (x1,y1)(x3,y3)をオフカーブ点 (x2,y2)をオンカーブ点と呼んでいるようです。 x1=100,y1=100 x2=200,y2=500 x3=400,y3=200 として、t=0.1から0.1刻みで大きくしていったときの グラフが書かれています。 詳しいことは分かりませんが、ご参考になればうれしいです。

参考URL:
http://www1.interq.or.jp/~anzawa/doc/doc2.htm