Как угол поворота с использованием матрицы поворота соответствует градусу

Я пытаюсь повернуть коробку в java, используя матрицу вращения.

(Я использую библиотеки LWJGL и Slick 2D)

мой код для поворота на 1 точку вокруг центральной точки таков:

point1X = (float) (centerX * Math.cos(rotation) - centerY * Math.sin(rotation));
point1Y = (float) (centerX * Math.sin(rotation) + centerY * Math.cos(rotation));

Прямо сейчас я просто обновляю ротацию при каждом обновлении следующим образом:

rotation += delta * 0.001;

Это прекрасно работает, за исключением того, что число оборотов, похоже, не соответствует градусам от 0˚ до 360˚.

Есть ли формула или что-то, что переводит число вращения в удобочитаемый градус и наоборот?


person Harrison    schedule 17.08.2013    source источник
comment
Я не эксперт по Java, но я ожидаю, что функции sin и cos будут ожидать ввода в радианах. Если вам нужны степени, используйте sin(rotation/PI*180)   -  person j_kubik    schedule 17.08.2013


Ответы (1)


Обычно триггерные функции ожидают, что их аргументы будут в радианах, а не в градусах.

2*пи радиан = 360 градусов.

person John R. Strohm    schedule 17.08.2013
comment
@Harrison Возможно, вы предпочитаете использовать Math.toRadians(angdeg) и Math.toDegrees(angrad) в своем коде. - person sgbj; 17.08.2013