アプリ版:「スタンプのみでお礼する」機能のリリースについて

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
で表わせるらしいのですがどのようにしたら求められるのでしょうか?教えてください.

A 回答 (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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!