算倾斜角:
x = accX[k]
y = accY[k]
z = accZ[k]
ayz = math.sqrt(y*y+z*z)
axz = math.sqrt(x*x+z*z)
axy = math.sqrt(x*x+y*y)
angle_x_acc = 180/pi*math.atan2(x,ayz)
angle_y_acc = 180/pi*math.atan2(y,axz)
angle_z_acc = 180/pi*math.atan2(axy,z)
算欧拉角(转的角度)
angle_x_acc2[k] = 180/pi*math.atan(z/y)
angle_z_acc2[k] = 180/pi*math.atan(x/y)
angle_x_gyro_sum[k] = angle_x_gyro_sum[k-1] - gyroX[k]
angle_y_gyro_sum[k] = angle_y_gyro_sum[k-1] - gyroY[k]
angle_z_gyro_sum[k] = angle_z_gyro_sum[k-1] + gyroZ[k]
float x = 180 / Mathf.PI * Mathf.Atan(accZ / accY);
float z = 180 / Mathf.PI * Mathf.Atan(accX / accY);
X += -Input.gyro.rotationRate.x;
Y += -Input.gyro.rotationRate.y;
Z += Input.gyro.rotationRate.z;
X = (X + x) / 2;
Z = (Z + z) / 2;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/12590.html