単純化されたヘリコプター(現時点では立方体)を3Dでシミュレーションしようとしていますが、回転に問題があります。ヘリコプターは3つの軸に沿って回転できます。
- 後部プロペラを使用してそれ自体で回転する:y軸回転
- 左または右に傾けて左または右に移動:z軸回転
- 上下に傾けて後方または前方に移動:x軸回転
各軸を個別に制御できる必要があります。これまでのところ、オイラー角を使用してみましたが、使用する回転順序が何であれ、ジンバルロックまたは一部の軸の「スイッチ位置」にぶつかります。
クォータニオンを使用する必要があるようですが、クォータニオンは方向と角度を使用するため、個々の軸を制御する方法がわかりません。3つの四元数を作成して、それらを乗算する必要がありますか?同じ問題が発生することはないでしょうか?
奇妙なことに、ヘリコプターの3つの軸(親指を上げる= y、インデックス= z、中央= x)を指で表すと、これらの問題にぶつからないようです。どうして?