欧拉角计算xy轴与水平面夹角
计算公式与代码
公式
arccos(cos(x)*cos(y))
代码
double x=0,y=0;
float Axy = acos (cos(x)*cos(y));
printf("Axy:%f\n",Axy*180/π);
注意
1.定义xy时候定义为double类型
double x=0,y=0;
2.带入公式计算的时候记得将角度转换为弧度值
方法:
x = x/180 * π;
y = y/180 * π;
3.输出的时候再转为角度即可
方法:
Axy = Axy*180/π
例子
1.x:30°,y:60°
double x = 30.0/180.0*π;
double y = 60.0/180.0*π;
Axy = acos (cos(x)*cos(y));
printf("Axy:%f\n",Axy*180/π);
/*Axy:64.341077 */
传感器x轴倾斜30°,y倾斜60°,实际倾斜64.34°
2.x:45°,y:45°
double x = 45.0/180.0*π;
double y = 45.0/180.0*π;
Axy = acos (cos(x)*cos(y));
printf("Axy:%f\n",Axy*180/π);
/*Axy:59.999986 */
传感器x轴倾斜45°,y倾斜45°,实际倾斜59.999986°