ios 关于3d旋转问题
2016-08-18 00:24
501 查看
1.关于layer层的旋转方向问题
layer层遵守 左手坐标系:x向右,y向下,z朝向自己(左手大拇指顺着z轴指去,握紧拳头其余4指由x轴到y轴)
前提:当旋转角度为正数的时候逆时针旋转,当旋转角度为负数的时候顺时针旋转
永远记着xyz的矢量方向性,如绕z轴旋转就是zxy,x-》y为正,为逆时针方向旋转,反之y-》x就是顺时针
如绕x轴旋转就是xyz,y-》z为正数,为逆时针
如绕y轴旋转就是yzx,z-》x就是正数,为逆时针
注意:(xyz无论怎么交换方向性不变永远x-》y-》z)
当绕z轴旋转,x---》y为逆时针
CATransform3D unit =CATransform3DIdentity;//单位矩阵
unit = CATransform3DRotate(unit,M_PI_4,
0,0,
1);//绕Z轴逆时针旋转
https://img-blog.csdn.net/20160818002718082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,0,0,1);//绕Z轴顺时针时针旋转】 https://img-blog.csdn.net/20160818002751160?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
当绕x轴旋转,y-》z为逆时针
unit = CATransform3DRotate(unit,M_PI_4,
1,0,
0);//绕x轴逆时针
https://img-blog.csdn.net/20160818002826911?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,1,0,0);//绕x轴顺时针
https://img-blog.csdn.net/20160818002856239?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
当绕y轴旋转的时候,z-》x为逆时针
unit = CATransform3DRotate(unit,M_PI_4,
0,1,
0);
https://img-blog.csdn.net/20160818002938286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,0,
1,0);
https://img-blog.csdn.net/20160818002956214?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
layer层遵守 左手坐标系:x向右,y向下,z朝向自己(左手大拇指顺着z轴指去,握紧拳头其余4指由x轴到y轴)
前提:当旋转角度为正数的时候逆时针旋转,当旋转角度为负数的时候顺时针旋转
永远记着xyz的矢量方向性,如绕z轴旋转就是zxy,x-》y为正,为逆时针方向旋转,反之y-》x就是顺时针
如绕x轴旋转就是xyz,y-》z为正数,为逆时针
如绕y轴旋转就是yzx,z-》x就是正数,为逆时针
注意:(xyz无论怎么交换方向性不变永远x-》y-》z)
当绕z轴旋转,x---》y为逆时针
CATransform3D unit =CATransform3DIdentity;//单位矩阵
unit = CATransform3DRotate(unit,M_PI_4,
0,0,
1);//绕Z轴逆时针旋转
https://img-blog.csdn.net/20160818002718082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,0,0,1);//绕Z轴顺时针时针旋转】 https://img-blog.csdn.net/20160818002751160?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
当绕x轴旋转,y-》z为逆时针
unit = CATransform3DRotate(unit,M_PI_4,
1,0,
0);//绕x轴逆时针
https://img-blog.csdn.net/20160818002826911?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,1,0,0);//绕x轴顺时针
https://img-blog.csdn.net/20160818002856239?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
当绕y轴旋转的时候,z-》x为逆时针
unit = CATransform3DRotate(unit,M_PI_4,
0,1,
0);
https://img-blog.csdn.net/20160818002938286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
unit = CATransform3DRotate(unit, -M_PI_4,0,
1,0);
https://img-blog.csdn.net/20160818002956214?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- iOS中的UIKeyboard键盘视图使用方法小结
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法