Есть два вида:
viewA
и viewB
. Оба вращаются.
Система координат для вращения странная: она идет от 0 до 179,999999 или -179,99999 градусов. Таким образом, 179,99999 и -179,99999 очень близки друг к другу!
Я хочу вычислить, сколько градусов или радиан между этими вращениями.
Например:
viewA поворачивается на 20 градусов
viewB поворачивается на 30 градусов
Я мог бы просто сделать: вращение B - вращение A = 10.
Но проблема с этой формулой:
viewA поворачивается на 179 градусов
viewB поворачивается на -179 градусов
что пошло бы не так: вращениеB - вращениеA = -179 - 179 = -358
358 совершенно неверно, потому что они очень близки в реальности. Поэтому я мог бы сделать одну вещь - проверить, больше ли абсолютное значение результата, чем 180, и, если это так, вычислить его наоборот, чтобы получить короткую истинную дельту. Но я чувствую, что это неправильно и плохо из-за возможных ошибок с плавающей запятой и неточности. Так что, если два обзора повернуты по существу одинаково на 179,99999999999 градусов, я могу получить странные 180 или 0, если мне повезет.
Может быть, есть математическая форма в гениальном стиле с PI, синусом или другим полезным материалом для решения этой проблемы?