0

3D空間の2つのポイント、AとBが与えられると、線分LSが得られます。線分LS'を生成する2つの新しい点A'とB'が与えられた場合、LSをLS'に変換する変換行列を見つける必要があります。線分の長さは等しいと見なされます。

私は行列の計算方法について理論を持っていますが、それが良い理論であるかどうか、またはより良いアプローチが存在するかどうかについて、優秀な人々からのフィードバックを本当にお願いします。

これが私のアルゴリズムです:

  1. LとL'をLSとLS'に平行な線とします。
  2. LがL'と交差する点Pを見つけます
  3. LとL'の間の角度Vを見つけます
  4. 最終的な変換行列は次のようになります。

    translate(-P)* rotate(V)* translate(p)

好奇心旺盛な人の背景:数学の問題はかなり一般的であるはずですが、私はこれをXNAで構築しています。線分は、接続されたセグメントのより大きな構造の一部です。セグメントごとに、アニメーションフレームごとの変換行列を事前に計算します。

4

1 に答える 1

2

AからA'への交差点を見つける代わりに、私は推測します。次に、おそらく2つの回転が必要になります。1つは同じ平面上に両方の線を作成するためのもので、もう1つは実際にそれらを整列させるためのものです。

于 2010-03-05T09:38:35.783 に答える