Я ищу решение следующей проблемы:
У меня есть шар, движущийся в верхний правый угол экрана.То есть его скорость вправо и вверх одинакова.
Для имитации вращения он имеет угловую скорость вдоль оси X и Y - они также равны.
Этопока работает нормально.Теперь моя проблема состоит в том, чтобы правильно повернуть отображаемый шар: я использую OpenGL и простую сферу для мяча.
Теперь мой наивный подход заключался в использовании
glRotate(rx, 1, 0, 0); // rotate about x axis
glRotate(ry, 0, 1, 0); // rotate about y axis
Но это не работает так, как я задумал: второе вращение зависит от первого.Если подумать, это работает так, как я к этому привык.Но сейчас я ищу решение для правильного вращения мяча, независимо применяя оба вращения.
Я также пытался использовать кватернионы, но безуспешно.Я даже не уверен, что если что-то не так, то мой подход «повернуть на несколько градусов вокруг x, а затем около y» вообще имеет смысл.
Любое «просветление» очень ценится.
Спасибо!