gpt4 book ai didi

android - TYPE_ROTATION_VECTOR, TYPE_ORIENTATION 给出不同的结果,也有偏差

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:21 24 4
gpt4 key购买 nike

我已经为 Rotation Vector 和 Orientation Vector 实现了监听器,虽然我知道它已经过时了,但我想同时测试这两个。

我知道 Rotation Vector 是一个融合传感器并被推荐,但根据它,NORTH(getOrientation(rotationMatrix,value) geaving bearing 0 返回的值[0])与 NORTH 不匹配来自方向传感器。我还从 Playstore 的不同应用程序中进行了统计,方向传感器值似乎更接近它们。

而且很多次我从 Rotation_Vector 得到的方位角值 [0] 然后 getOrientation 只是猛增并保持在 -180 到 180 之间振荡

P.S “getRotationMatrix(float[] R, float[] I, float[] gravity, float[] geomagnetic)”也给出与旋转矢量相同的结果。

 public final void onSensorChanged(SensorEvent event)
{
float rotationMatrix[];
switch(event.sensor.getType())
{
.
.
.
case Sensor.TYPE_ROTATION_VECTOR:
rotationMatrix=new float[16];
mSensorManager.getRotationMatrixFromVector(rotationMatrix,event.values);
determineOrientation(rotationMatrix);
break;

case Sensor.TYPE_ORIENTATION:
sensorZValue.setText(""+event.values[0]); //rotation about geographical z axis
sensorXValue.setText(""+event.values[1]); //rotation about geographical x axis
sensorYValue.setText(""+event.values[2]); //rotation about geographical y axis

}//switch case ends
}


private void determineOrientation(float[] rotationMatrix)
{
float[] orientationValues = new float[3];
SensorManager.getOrientation(rotationMatrix, orientationValues);
double azimuth = Math.toDegrees(orientationValues[0]);
double pitch = Math.toDegrees(orientationValues[1]);
double roll = Math.toDegrees(orientationValues[2]);

sensorZValue.setText(String.valueOf(azimuth)); //rotation about geographical z axis
sensorXValue.setText(String.valueOf(pitch)); //rotation about geographical x axis
sensorYValue.setText(String.valueOf(roll)); //rotation about geographical y axis


}

我想确定手机的 Y 轴和指向北方的向量之间的角度,所以这是我最初的实现。请提出建议。

最佳答案

我认为这会有所帮助...

Android Compass that can Compensate for Tilt and Pitch

这使用更可靠的来源计算北方。

希望这对您有所帮助。

关于android - TYPE_ROTATION_VECTOR, TYPE_ORIENTATION 给出不同的结果,也有偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com