Ich versuche, eine vereinfachte Hubschraubersimulation (im Moment ist es ein Würfel) in 3D zu erstellen, und ich habe einige Probleme mit der Rotation. Ein Hubschrauber kann sich entlang der drei Achsen drehen:
- Mit dem hinteren Propeller auf sich selbst drehen: Drehung der y-Achse
- Neigen Sie nach links und rechts, um nach links oder rechts zu gehen: Drehung der z-Achse
- Kippen Sie nach oben und unten, um vorwärts oder rückwärts zu gehen: Drehung der x-Achse
Ich muss in der Lage sein, jede Achse einzeln zu steuern. Bisher habe ich versucht, Eulerwinkel zu verwenden, aber unabhängig von der Reihenfolge der Drehung stoße ich entweder auf ein kardanisches Schloss oder auf einige Achsen, die "Orte wechseln".
Ich muss anscheinend Quaternionen verwenden, aber ich weiß nicht, wie ich jede einzelne Achse steuern soll, da Quaternionen eine Richtung und einen Winkel verwenden. Soll ich drei Quaternionen erstellen und diese miteinander multiplizieren? Würde ich nicht die gleichen Probleme haben?
Das Seltsame ist, wenn ich mit meinem Finger die drei Achsen meines Hubschraubers darstelle (Daumen hoch = y, Index = z, Mitte = x), scheine ich nicht auf diese Probleme zu stoßen. Warum?