Próbuję stworzyć uproszczoną symulację helikoptera (na razie jest to sześcian) w 3D i mam pewne problemy z obrotem. Śmigłowiec może obracać się wzdłuż trzech osi:
- obracać się za pomocą tylnego śmigła: obrót osi y
- przechyl w lewo i prawo, aby przejść w lewo lub w prawo: obrót osi Z
- przechyl w górę i w dół, aby przejść do tyłu lub do przodu: obrót osi x
Muszę być w stanie kontrolować każdą oś indywidualnie. Do tej pory próbowałem używać kątów Eulera, ale bez względu na to, jakiej kolejności obrotu używam, albo wpadam na zamek gimbala, albo niektóre osie „zmieniają miejsca”.
Wydaje mi się, że muszę używać czwartorzędów, ale nie wiem, jak kontrolować każdą pojedynczą oś, ponieważ czwartorzędy używają kierunku i kąta. Czy powinienem utworzyć trzy czwarte i pomnożyć je razem? Czy nie skończyłbym z tymi samymi problemami?
Dziwne jest to, że jeśli użyję palca do przedstawienia trzech osi mojego helikoptera (kciuk w górę = y, indeks = z, środek = x), wydaje mi się, że nie napotkam tych problemów. Dlaczego?