关于c ++:Radian还是Degrees?

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函数只使用弧度,所以最终需要转换为弧度,但在数据甚至进入程序之前(也就是说,资源中的角度值都是弧度)可以完成。