私は奇妙な角度で回転している3次元平面(点の数で構成されています)を持っています。私はそれを平らにしたい、つまりxy平面上に置く。私は平面方程式を持っていますが、計算された角度が正しくないか、間違った回転行列を使用している可能性があります。間違った回転行列によって、私はどの軸を回転させるべきかわからないということです。私の飛行機の写真を添付:3D平面を回転するにはどうすればいいですか?
Iは、以下の式を用いて計算することを試みた:
- シータ= -acosd((ドット(N1、N2))/(ノルム(N1 )*ノルム(n2)));
- 球面角度を計算する:thetaとphi;
両方の方法が同じ角度を与えているので、私はまずz軸について、次にy軸について面を回転させました。結果として得られた飛行機はほぼ平坦であるが、それでも幾分かの盛り上がりがある。
私は回転行列とロドリゲスの回転行列の両方を試しました。誰かがこの平面を回転させて平らにする方法を提案できれば、本当に役に立ちます。
フラットプレーンが必要な場合は、平面方程式「z = h」をすぐに知ることができます。ここで、「h」は任意の高さ(回転させる点の高さ)です。あなたの数式には「n1」と「n2」は何ですか?回転軸が異なるので、2つの方法で同じ結果が得られるはずはありません。 –
なぜ回転するのですか?あなたは飛行機の法線ベクトルを持っていますので、飛行機に含まれる2つの垂直ベクトルを見つけるのは簡単です。それらを新しい座標ベースとして使用します。 –
@NicoSchertler、お返事ありがとうございます。 n1 = [0 0 1]であり、n2は平面に対して垂直である。 1.の式と球面の角度thetaは同じ値のthetaを与えます。あなたは、高さについてどのように回転するかを詳しく説明できますか? –