Поворот на 360 градусов к двухмерному объекту от объекта 3d papervision в ActionScript - PullRequest
0 голосов
/ 11 марта 2010

Почему-то я боролся с этим некоторое время.

У меня есть камера papervision, которая поворачивается с помощью ввода с клавиатуры, у меня есть радар, который я хотел бы ориентировать в направлении при повороте камеры.

У меня все работает, кроме сопоставления моей (камеры) DisplayObject3D.rotationY с RadarInterface.rotation правильно.

Камера (или любой 3d-объект) работает со значениями, которые мне трудно найти: По часовой стрелке: 0 to 89, 89 to 0, -0 to -89, -89 to -0 делает полный 360.

Так что, если бы я повернулся на 180 градусов, я бы пошел от 0 до 90 и снова опустился до 0.

Кто-нибудь знает, как преобразовать это в 360 градусов.

Заранее спасибо.

1 Ответ

0 голосов
/ 12 марта 2010

Мне не совсем понятно, как эти цифры будут работать. В прошлом у меня были проблемы с вращением объектов, вращающихся неправильно из-за изменения вспышки от 270 до -90 или чего-то в этом роде. Утверждение ниже помогло мне с этим несколько раз; изменяет диапазон от 0 до 360 до -180 до 180.

if (Math.abs (difference) > 180) {
    difference = difference > 0 ? difference - 360 : 360 + difference;
}

Вы говорите, что 45 градусов вернули бы то же значение, что и 135?

...