【发布时间】:2011-11-09 18:25:43
【问题描述】:
我对相机旋转的数学有疑问,更像是我缺乏这方面的知识,并且在互联网上找不到任何相关信息(阅读,很可能不知道正确的搜索关键字)
无论如何,这就是我正在尝试做的事情(伪代码):
RotateCamera(angle,axis){
Quaternion rotation = cam.getRotation();
Quaternion rot = new Quaternion();
rot.fromAngleNormalAxis(angle, axis);
rotation.multLocal(rot);
cam.setRotation(rotation);
}
update(float value){ // just to show what input I use the RotateCamera method for the directions
RotateCamera(value,Vector3f(0,1,0)) // left
RotateCamera(-value,Vector3f(0,1,0)) // right
RotateCamera(value,Vector3f(1,0,0)) // up
RotateCamera(-value,Vector3f(1,0,0)) // down
}
现在这工作得很好,但有时凸轮会滚动,而不仅仅是偏航/俯仰。这样做的正确方法是什么?
【问题讨论】: