Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Bald63
0 / 0 / 0
Регистрация: 28.02.2017
Сообщений: 3
1

Вращение CALayer

27.12.2017, 10:19. Просмотров 728. Ответов 0
Метки нет (Все метки)

Да, я уже прочитал много статей и нигде ни слова про подобную проблему. Есть UIView, в котором несколько слоев. Начинаю вращать один из слоев при отрисовке. Он начинает вращаться вокруг центра, как и задумано, но явно не вокруг оси Z, а стабильно вокруг Z плюс хаотично прибавляя вращение по остальным осям. В результате чего слой растягивается и начинает гулять по всем направлениям. Что CATransform3DMakeRotation(angle, 0.0f, 0.0f, 1.0f), что CGAffineTransformMakeRotation(angle) дают один и тот же эффект. На каждом кадре пробовал и пересоздавать трансформацию, и пробовал продолжать начатую. Якорную точку не двигал, да и пробовал принудительно выставлять в 0.5,0.5 - эффект тот же самый. Решение с помощью анимации просьба не предлагать, потому что таким образом я и сам решил проблему, но мне нужно именно разобраться с этими трансформациями.

Добавлено через 57 минут
PS. Просмотрел эффект по кадрам. При вращении слоя на 0, 90, 180 и т.д. градусов он приходит в нормальное положение: параллелен экрану и повернут на нужный угол вокруг Z. В эти промежутки он (я так понял) совершает полный оборот вокруг Х. При повороте слоя на Z:22.5 градуса он сплющен так, как будто "смотрит" на экран под углом X:45 градусов. При угле слоя Z:45 градусов - слой вообще пропадает, т.к. становится перпендикулярен экрану X:90 градусов, к Z:67.5 опять утолщается до половины и к Z:90 градусам приходит в нормальное положение. И такое поведение повторяется в каждом секторе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2017, 10:19
Ответы с готовыми решениями:

CoreAnimation, прозрачность CALayer
Всем привет! Наконец-то дошли руки до CoreAnimation. Начал выполнять разные...

Вращение объекта
Здравствуйте. Есть объет(палка), который должен вращаться относительно своего...

Вращение UIView по типу часовой стрелки
Всем доброго времени суток, собственно есть задача иммитировать часы,...

Реализовать вращение 3D объекта как вращение камеры
Существует некий объект в 3D пространстве (для примера используем куб). В...

Вращение
вот кусок обработки сообщений case WM_KEYUP: if(wParam==27)...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2017, 10:19

Вращение <td>
Всем привет! Совсем неординарная задача... Можно ли такое вообще сделать: на...

Вращение Graphics
У меня имеется объект Graphics в котором что-то отрисовывается. Как вращать то...

Вращение фигуры
Вообщем суть задания - научиться делать перемещение объекта с вращением. Для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru