Intereting Posts
Хорошо ли написать метод класса, который определяет и возвращает, не используя ничего о классе? Проблема с выпуском Xcode для Mac OS X Смутно о стандарте isEqual и hash реализует Ошибка FileManager.createDirectory с кодом NSCocoaErrorDomain: 518 Обнаружение столкновений между двумя спрайтами (без физического тела?) IOS NSUserDefaults initWithSuiteName утечки памяти в iOS 8? Доступны ли шрифты на каждом iPhone и iPad одинаково? Найти ближайшие аннотации от пользователя ios? Формат NSDate корректен для симулятора, неверный на устройстве Как обрабатывать фоновый URL-адрес утраченного интернет-соединения? Как прокрутить представление UITable до тех пор, пока я не увижу ячейку с меткой «Value» в Calabash XMPPStream Connect, похоже, работает, но делегировать метод xmppStreamDidConnect не вызывается, почему? динамическое изменение ширины UICollectionViewCell имя выбранного изображения xcode Фокус не меняется, даже если фокусная точка интереса изменилась только на iPhone6 ​​и iPhone6 ​​+

Вычисление угла поворота вместо наклона для углов Более 360 градусов

Я пытаюсь реализовать вращающееся колесо, которое выводит положительные целые числа – sizeof (int) – при вращении по часовой стрелке и отрицательные целые числа – sizeof (int) – при вращении против часовой стрелки. Я работаю с реализацией SMRotaryWheel, найденной здесь, и вывожу значение радиана, генерируемое в методе:

continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event

Он использует atan2f() для вычисления угла наклона и выполняет некоторую арифметику, чтобы определить, где в диапазоне радиусов 2Pi вращаться.

Проблема, с которой я сталкиваюсь, заключается в том, что, поскольку он измеряет только угол наклона, диапазон выходного сигнала находится только в диапазоне +/- pi.

Есть ли функция (или?)? – или функции – которая будет вычислять угол поворота вместо угла наклона для углов больше 360 градусов?

    EDIT: Я неправильно интерпретировал исходное описание.

    Предполагая, что для радианов, начиная с (1,0), равно 0, то (0,1) есть π / 2, (-1,0) – π (0, -1) – 3π / 2 и обратно (1 , 0) равно 2π (или 0).

    Ваша установка такова, что переход от III к IV равен π до 0, пересечение от I до II – от 0 до -π. Поэтому я хочу изменить I на II на 0 на π, а затем сменить III на IV на π до 2π,

    psuedocode (предполагает, что диапазон ввода θ равен {θ | -π <θ <π})

     function inclination2rotation(θ) { if (θ <= 0) { return -θ; } if (θ > 0) { return -θ+2π; } }