Что такое угол в методе CATransform3DRotate? - PullRequest
0 голосов
/ 16 декабря 2011

Я работаю над приложением, показывающим мой курс и направление к месту, куда я хочу пойти.Я хочу отобразить направление стрелки в направлении, в котором пользователь должен располагать свой курс, чтобы обогатить желаемое местоположение.Не о чем беспокоиться.То, что я хочу сделать, это у меня есть степени .. 0-360.

Когда я передаю эти градусы в метод ниже, это странно.Изображение получается более одного раза.Я попытался получить радианы от градусов и затем попытался, но безуспешно.

Все, что я хочу, - это диапазон значений с плавающей запятой от 0 до 360, и я хотел повернуть свое изображение только один раз на 369 градусов.

Я тоже прошел радианы.Для преобразования градусов в радианы я использовал:

float radian = degrees * M_PI / 180

Но это также имеет ту же проблему.Все, что я хочу, это работа с изображением, как компас для всех 360 градусов.

Как получить угол для этого метода:

CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)'

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

1 Ответ

0 голосов
/ 16 декабря 2011

Вы должны пропустить радианы там. Например, это повернет изображение на 180 градусов:

switcher.transform = CGAffineTransformMakeRotation(M_PI);

если у вас есть проблемы с преобразованием градусов в радианы, вы можете использовать следующие макросы:

#define DegreesToRadians(degrees) (degrees * M_PI / 180)
#define RadiansToDegrees(radians) (radians * 180 / M_PI)
...