您的位置:首页 > 移动开发 > IOS开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios