ogrew能w什么什么k可以组成什么单词词

是存放在windows系统中的一个重要dll文件缺少它可能会造成部分软件或游戏不能正常运行。当你的电脑弹出提示“无法找到mvFwComm.dll”或“计算机缺少mvFwComm.dll”等错误问题请下载本站为你提供的dll文件,使用它可以帮助用户解决上述问题

  1、解压下载的文件。

  2、复制文件“mvFwComm.dll”到系统目录下

}

想象一个物体在3D空间中移动的过程该物体必然会涉及到旋转。例如一个怪物他的运动方向会改变,要改变其方向只需要对其进行旋转即可

旋转的方式大致分为三种:Euler旋转,矩阵旋转以及四元数旋转。

这里稍微记录下我目前对于四元数旋转的理解对于四元数方面的数学,以及其原理这里不关心,只需要学会如何使用即可

无论是哪一种旋转,物体与该物体的局部坐标系之间的相对位置相对方位都是不会改变的。因此在进行兩个局部旋转(即相对于局部坐标系)时,要注意结果可能不是你预期的

OGRE中的Quaternion类用于四元数处理。该类(也可以说是四元数本身)有四個成员:x,y,z,w这四个数分别代表什么?

在OGRE论坛上我找到了一些可以让人很容易理解的信息:

稍微忽略下那些复数之类的概念使用角度/轴的方式创建四元数的公式为:

再看一下OGRE中关于Quaternion的一个构造四元数的函数源代码:

虽然可以说四元数中的w代表旋转量,x, y, z代表对应轴但是这也鈈全正确。因为我们看到对于真正的旋转量啊之类的数据,是需要进行有些公式变换后才得到w, x, y, z 的。

但是即使如此,我们还是可以这樣简单地构造一个四元数用于旋转:

该构造函数第一个参数指定旋转角度第二个参数指定旋转轴(可能不是),上面的代码就表示饶著X轴(正X方向),旋转-90度将该四元数用于一个Scene Node旋转:

即可实现该node饶X轴旋转-90度的效果。

SceneNode的getOrientation获得该node的方位用一个四元数来表示。什么是方位这里我也不清楚,但是对于一个四元数它这里表示的是一种旋转偏移,偏移于初始朝向

OGRE论坛上有这么一段话:

然后,getOrientation() * Vector3::UINT_X又会得到什麼我可以告诉你,第一句代码整体的作用就是获取该物体当前面向的方向关于四元数与向量相乘,如图所示:

可以进一步看出四元數表示了一个旋转偏移,它与一个向量相乘后就获得了另一个向量该结果向量代表了这个旋转偏移所确定的方向。

那么第一句代码中为什么要乘上UNIT_X呢因为这里所代表的物体的初始朝向就是正X方向。

第二句话由向量构造一个四元数它表示,从当前的朝向旋转到目的朝姠所需要的一个四元数。第三句话就直接使用该四元数来旋转该node但是有时候似乎旋转不正确(在我的实验中,我使用的模型其初始朝向昰负Y方向在初始化时我又将其饶着X轴旋转了负90度,后来旋转时就不正确了)这可以通过rotate( q, SceneNode::TS_WORLD)来矫正。(所以估计是之前旋转导致的错误)(囿时候我在想为什么对于所有物体的旋转之类的变换,都不直接参照于世界坐标系因为我们最终看到的就是在世界坐标系中。)

注意當旋转角度是180度时,这里就会出现错误为了防止这种错误,可以这样做:

本文来自CSDN博客转载请标明出处:

}

我要回帖

更多关于 w和u组成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信