Ogre中四元数与三维向量(Unity3D异曲同工)

本文介绍了3D游戏中旋转物体常用的四元数,并以Ogre和Unity3D为例,解析了四元数与三维向量的乘法在旋转中的应用。通过四元数的实部和虚部表示旋转轴和角度,讨论了如何通过四元数计算旋转后的新向量。文章还提到了Ogre中的Vector3::getRotationTo() API,用于获取旋转到目标方向所需的四元数。
摘要由CSDN通过智能技术生成

在3D情况下,有许多人或遇到旋转物体的情况,在现在的游戏引擎 中,旋转物体使用最多的是四元数,对于许多新手来说,这可能相当陌生。

在Ogre与Unity3D以及一些其他引擎中,在旋转物体时,有人会发现这样的一类函数应用:

Quaternion.Euler(x,y,z)*Vector3(x1,y1,z1)

或者

Ogre::Vector3 src = mNode->getOrientation()*Ogre::Vector3::UNIT_X

两类乘法都是返回一个三维向量的值,很多人觉得疑惑,我们今天给大家解释一下,如果对算法本身没有兴趣可以直接跳到解析之后
ogre是一个开源图形引擎,在官网上可以下到所有源代码,至于unity3d的商业性大家都知道,所以我们上ogre的乘法源码

在代码第8行中的w是四元数的实部,第3行的x,y,z是四元数的虚部
<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值