关于Unity四元数相乘先后顺序的问题
2016-10-13 21:11
946 查看
在unity中四元数和向量相乘可以变换旋转。四元数之间相乘类似矩阵之间相乘的效果。
矩阵相乘的顺序不可互换,只有特殊条件矩阵才可互换。四元数相乘类似,今天就因为这个问题掉进坑里了,记录一下
问题大致是,有一个cube,它会看向左边的板,用角轴旋转,但我想要y轴看向它
以下代码就是没有注意相乘顺序导致的结果
修改后正确结果如下
所以在处理四元数或者矩阵相乘操作时,注意顺序,并且避免xxx*=quat这样的操作,尽量用直观写法
矩阵相乘的顺序不可互换,只有特殊条件矩阵才可互换。四元数相乘类似,今天就因为这个问题掉进坑里了,记录一下
问题大致是,有一个cube,它会看向左边的板,用角轴旋转,但我想要y轴看向它
Quaternion.AngleAxis(-90, Vector3.forward);
以下代码就是没有注意相乘顺序导致的结果
var quat1 = Quaternion.AngleAxis(-90, Vector3.forward); var quat2 = Quaternion.AngleAxis(Time.time * 180, referenceTransform.forward); transform.rotation = quat1 * quat2;
修改后正确结果如下
transform.rotation = quat2 * quat1;
所以在处理四元数或者矩阵相乘操作时,注意顺序,并且避免xxx*=quat这样的操作,尽量用直观写法
相关文章推荐
- 关于组件先后顺序的问题
- unity 关于Rotation和Quaternion的一些问题(欧拉角与四元数,lerp与slerp)
- 关于js引入的先后顺序的小问题
- 关于导入jquery插件时的先后顺序问题
- 关于sql语句先后顺序问题
- 关于html和javascript在浏览器中的加载顺序问题的讨论(zz)
- 关于asp.net中页面事件加载的先后顺序
- 关于网络传输字节顺序的问题: hton? or ntoh?
- 关于初学ASP.NET技术的学习顺序问题
- FLEX当中关于的执行顺序问题
- 关于asp.net中页面事件加载的先后顺序
- 关于初学ASP.NET技术的学习顺序问题
- 关于asp.net中页面事件加载的先后顺序
- 关于触发器在行级和语句级的执行顺序问题
- 关于Decorator Pattern 被包装的对象生成顺序的问题
- 关于编译器编译顺序的一个小问题...
- 关于ASP.NET技术的学习顺序问题(转)
- 关于vs2005和SQL Server安装顺序导致SQL Server Management Studio丢失的问题
- 关于初学ASP.NET技术的学习顺序问题
- 一个关于顺序显示记录的问题!!!