Unity中实现选装的三种方法

panpanyuqilin 42 0 PDF 2018-12-25 18:12:24

根据网络资料和个人理解总结的Unity中实现对象旋转的三种方案:基于矩阵的旋转、欧拉旋转和基于Quaternion的旋转基于变换矩阵的旋转使用了一个4×4大小的矩阵来表示绕任意轴旋转的变换矩阵三维变换矩阵21px2 a22 32 Py23pz(1)三维线性变换部分(2)三维平移变换部分(3)透视变换部分(4)整体比例因子应用于特点口 Unity中GUI的旋转口 GUlmatrⅸ就是一个4×4的矩阵优点口旋转轴可以是任意向量缺点口旋转其实只需要知道一个向量和一个角度口矩阵法使用了16个元素,且乘法增加计算量欧拉旋转按照一定的坐标轴顺序,每个轴旋转一定角度来实现旋转绕Z轴旋转x =rcosr-ysiny-xsin y+ y cosrcos y sin y 0 0('y'z'1=(xyzsin y cosy 0 000100001绕Ⅹ轴旋转y=ycos-zsinoZ=sIna+ COS O=xX0000 cosa sin a 0x y0 -sin a cosa 00001绕Y轴旋转z=z cosB-xsin Bx'=sin B+xcos By=ycos B 0 -Sin B 00100(xyz'1=(xyz1SInB0 cOS 0000欧拉旋转坐标系问题即:旋转时要不要把坐标系一起转动?口对于坐标系E下的欧拉角(x,β,r),假设旋转顺序是ⅩY乙,两种旋转方法口1.绕坐标系E下的x轴旋转α,绕坐标系下的y轴旋转β,绕坐标系E下的z轴旋转r,三个矩阵的复合口2绕坐标系E下的x轴旋转α,绕坐标系E在绕ⅹ轴旋转α后的新系E下的y轴旋转β,绕坐标系E在绕y轴旋转β后的新系E"下的z轴旋转r,三个矩阵的复口第一种方式的ⅩYZ和第二种方式的ZY-X等效

用户评论
请输入评论内容
评分:
暂无评论