3Dについて少し質問があります。
以下は私の問題の例です。
私には2つのポイントがあります:
A:12 4 5 B:6 8 -10
私は別のポイントがあります:C:5 6 7
角度ABCが48度になるように点Cを変換(?)する必要があります。
どうすればよいですか?誰かが式を手伝ってくれるか、あるいは上記の例を実用的なものにすることができれば幸いです。
別の言い方をすれば、角度ABCが48度になるように、Cx、Cy、およびCzを変換するにはどうすればよいですか?
私は今立ち往生しているので、これについていくつかの助けを本当にいただければ幸いです。
補足:角度を見つけるためのメソッドをすでに実装しています:
float Angle( float x1, float y1, float z1,
float x2, float y2, float z2 )
{
float x, y, z;
CrossProduct( x1, y1, z1, x2, y2, z2, &x, &y, &z );
float result = atan2 ( L2Norm( x, y, z ),
DotProduct( x1, y1, z1, x2, y2, z2 ) );
return result;
}
あなたはそれを使用します:Angle(Bx-Ax、By-Ay、Bz-Az、Cx-Bx、Cy-By、Cz-Bz);