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

Вращение CALayer

27.12.2017, 10:19. Просмотров 943. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2017, 10:19
Ответы с готовыми решениями:

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

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

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

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

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

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

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

Вращение сцены
Как вращать сцену? В исходнике, что я приложил при помощи wasd и кнопок- стрелочек происходит...

Вращение картинки в 3D
Нужно сделать вращение картинки в 3D вокруг своей оси. Знаю что такое можно реализовать с помощью...


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

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

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