Изменение угла с помощью радианов
-
20-09-2019 - |
Вопрос
Привет всем вам, математические гении!
Я борюсь с математической задачей и надеюсь, что вы сможете мне помочь.Я вычислил угол направления, используя радианы.В OpenGL ES я перемещаю своего парня, изменяя значение моей точки как таковое:
spriteLocation.x -= playerSpeed * cosf(playerRadAngle);
spriteLocation.y -= playerSpeed * sinf(playerRadAngle);
// playerRadAgnle is my angle of direction using radians
Это очень хорошо работает для перемещения моего спрайта в правильном направлении.Однако я решил оставить свой спрайт "заблокированным" в середине экрана и вместо этого переместить фон.Это требует, чтобы я изменил свой расчетный угол.Если направление моего спрайта в радианах эквивалентно 90 градусам, я хочу преобразовать его в 270 градусов.Опять же, сохраняя все в радианах.
Я признаю, что мои знания тригонометрии в лучшем случае невелики.Есть ли способ определить противоположный угол, используя радианы?Я знаю, что мог бы преобразовать свои радианы в градусы, затем добавить / вычесть 180 градусов, затем преобразовать обратно в радианы, но я ищу что-то более эффективное.
Заранее благодарю....
-Скотт
Решение
Сложение / вычитание pi
вместо этого.
Другие советы
объект_спрайт.вращение = деформация_направление - 3.14;
Вам нужно добавить число Пи, а затем использовать остаток после деления на 2 числа Пи (чтобы ограничить его в пределах [0; 2 Pi]
диапазон).
JavaScript:
function invertAngle(angle) {
return (angle + Math.PI) % (2 * Math.PI);
}