Я думаю, вы могли бы добиться этого с помощью CATransform3D.
Вы бы использовали эти два вызова:
CATransform3D CATransform3DMakeRotation (CGFloat angle, CGFloat x, CGFloat y, CGFloat z);
CATransform3D CATransform3DRotate (CATransform3D t, CGFloat angle, CGFloat x, CGFloat y, CGFloat z)
Вам нужно выяснить, как крен, тангаж и рыскание соответствуют вашей системе координат (обычно это x, y, z, но может быть и z, x, y).
затем просто сделайте комбо следующим образом:
CATransform3D transform = CATransform3DMakeRotation(anglex, 1.0, 0.0, 0.0);
transform = CATransform3DRotate(transform, angley, 0.0, 1.0, 0.0);
transform = CATransform3DRotate(transform, anglez, 0.0, 0.0, 1.0);
ваше преобразование теперь будет содержать матрицу, которую вы ищете.
person
HalR
schedule
02.11.2013