Я смотрю на основной класс движения CMAttitude
, он может выражать ориентацию устройства как матрицу вращения 3x3. В то же время я взглянул на CATransform3D
, который инкапсулирует позицию представления, а также масштабирование. CATransform3D
- это матрица 4x4.
Я видел, что матрица вращения OpenGL имеет размер 4x4 и просто заполнена 0001 в 4-й строке и столбце.
Я не понимаю, связана ли матрица вращения CMAttitude с матрицей CATransform?
Могу ли я использовать вращение устройства в пространстве, полученное с помощью матрицы вращения, для преобразования UIView с помощью CATransform3D
? Я намерен позволить пользователю перемещать телефон и применять такое же преобразование к UIView на экране.
Дополнительный вопрос: если они связаны, как преобразовать матрицу вращения CMAttitude в CATransform3D?