Ogre旋转物体

想在Ogre下旋转Entity,所以搜索了下,中文的资料大概很多都是讲了Quaternion四元组用于旋转物体的一些东西,外加有些向量啊,矩阵啊什么的相关信息。我更关注相关的方法调用之类的。 这里大概给自己留几个函数,方便以后借鉴下。 rotate(Quaternion & q); 可以用于旋转,entity或者camera应该都可以用。传入一个四元组 Quaternion Ogre::Vector3::getRotationTo(const Vector3 &  dest, const Vector3 &  fallbackAxis =Vector3::ZERO ) 该方法用于求解将一个方向向量旋转到另一个方向向量的四元组。有机会看源代码的话应该能够理解,其主要内容就是其他博客里讲解的那些东西。 当然,也可以用vector3的dotProduct()和crossProduct()来自己实现下。 我还真想过自己实现,向量点乘可以求得其夹角,向量叉乘可以获得其旋转前后的向量组成的面的法向量,也就是旋转轴,再加上一些其他的辅助运算,可以实现。 参考: http://gocode.duapp.com/uncategorized/ogre-quaternion/ --EOF--

你可能感兴趣的:(OGRE,四元组)