Opengl Rotation - PullRequest
       15

Opengl Rotation

1 голос
/ 08 сентября 2011

У меня есть последовательность элементов, и я хочу повернуть их по оси x и y на месте в целом. То есть я хочу, чтобы все мои предметы считались одним предметом и чтобы этот предмет вращался на месте. Как мне этого добиться?

Ответы [ 2 ]

4 голосов
/ 08 сентября 2011

В общем, определите контрольную точку, возможно, центр тяжести всех предметов.Назовите эту точку (x, y).Затем

  • Переведите элементы с помощью (-x, -y)
  • Поверните их все
  • Переведите их обратно на (x, y)

Конечно, вы захотите предварительно вычислить составное преобразование, но это основная идея.

Обратите внимание, что под "элементами" мы на самом деле просто подразумеваем все многоугольники в вашем наборе объектов.

0 голосов
/ 08 сентября 2011

Вращайте объекты после перевода их на свои места.Короче говоря, все сводится к порядку матричных преобразований: вы хотите делать вращение * перевод, а не наоборот.

...