Intereting Posts
Миграция iOS-проекта с Swift 2.3 до 3.0 в XCode 8 Фон эффекта размытия во всей ячейке на UITableView Swift / Как заполнить UITableViewCells Когда я добавляю новых тестеров в TestFlight, я должен опубликовать новую сборку, чтобы они были «уведомлены»? Синхронный вызов PFQuery, асинхронный вызов не выполняется Как проверить, является ли NSString, возвращаемое objectForKey, «" объективным c AVFoundation: задержка при переходе в режим просмотра камеры Как изменить состояние переключателя при нажатии кнопки в быстрой Ошибка 404 и ASIHTTPRequest скачать файл Поддержка встроенного и полноэкранного просмотра для пользовательского проигрывателя фильмов с использованием AVFoundation Вопросы о том, как работают переводы сценариев, и акселерометр Доступ к удобочитаемой пользовательской метке UIElement из приложения IOS Сортировка внутри подзапроса TextLabel и detailTextLabel таблицы TableViewCell не работают Пользовательский компонентный фон прозрачный

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

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

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

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

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

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

Solutions Collecting From Web of "Вычисление угла поворота вместо наклона для углов Более 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π; } }