未测试,所以,BBBB的话留给以后.未测试的原因,是深度优先我有点受不了了,先把欧拉角,矩阵,四元数都写出来,再整合到我的线框引擎中测试吧.
参考的书籍是<<3D游戏基础--图形与游戏开发>>和<<3D游戏与计算机图形学中的数学方法>>,都是外国人写的书.
关于这个EulerAngles啊,看起来没什么,真要研究透彻,真的不是那么容易的...还好我睾明白了,贴出来吧.
#ifndef EULAR_H_
#define EULAR_H_
class Quaternion ;
class Matrix4x4;
class EulerAngles
{
public:
// 单位:弧度
float heading ;
float pitch ;
float bank ;
EulerAngles() ;
EulerAngles(float heading, float pitch, float bank) ;
void Indentity() ;
void Canonize() ;
// 矩阵到欧拉角
void MatrixToEulerAngles(const Matrix4x4& m) ;
// 四元数到欧拉角
void QuaternionToEulerAngles(const Quaternion& q) ;
} ;
#endif
1455

被折叠的 条评论
为什么被折叠?



