Radian or Degrees?
当我从欧拉角度创建旋转矩阵时,我应该将一个等级(欧拉角度)转换为径向,然后计算开放旋转矩阵。但我应该用四元数做什么?我应该跟踪:
1 2 3 4 5 6 7 8 9 10 11 | void setQuaternionsFromEuler(float bank, float heading, float attitude) { float DegreeToRadian = 3.14f/180.0f; double c1 = cos(heading/2*DegreeToRadian); double c2 = cos(attitude/2*DegreeToRadian); //... double s3 = sin(bank/2*DegreeToRadian); this.w = c1*c2*c3 - s1*s2*s3; //... } |
And,
ZZU1
还是不?
旋转式Matlab不再有角度,所以它实际上与OpenGL无关,但是在C或C++中的标准库中使用的三角函数是在弧度上定义的,所以如果您的面向用户的API与度一起工作,那么是的,您应该转换为COS/SIN。
这取决于您如何定义输入。
C++的TIG函数只使用弧度,所以最终需要转换为弧度,但在数据甚至进入程序之前(也就是说,资源中的角度值都是弧度)可以完成。