【发布时间】:2014-09-01 13:13:23
【问题描述】:
我正在开发飞行模拟器。我读过一篇关于四元数的教程(这个:http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quaternions/),所以它对我来说很新。
据我了解,四元数应该使用方向向量旋转对象并使对象的方向与方向匹配,并且旋转四元数不应该移动向量,而只是让他自己转身。我是真的吗?
如果是,这是我的代码:
void Plane::Update()
{
m_matrix = GLM_GTX_quaternion::toMat4( GLM_GTX_quaternion::angleAxis( radians( m_angle ), normalize( m_planeDirection ) ) );
}
当我的平面模型指向 x 向量时,我的平面将围绕 x 向量正确旋转,角度等于 0,但如果我更改角度,它将无法正确旋转。那么如何找到角度呢?
【问题讨论】: