android磁场传感器值转换为地球坐标系时,为什么X坐标值如此接近于零?

Why is the X coordinate value so close to zero when android magnetic field sensor values are converted to Earth coordinate system?

我正在开发一个 Android 从磁场传感器读取数据的应用程序。 我按照指示将传感器数据转换为地球坐标系here and here

转换后的数据看起来不错。但是,X 值始终接近于零。下面的第一张图片显示原始数据,第二张图片显示转换后的数据。请注意,第一张图中所有的轴值都发生了变化。在第二张图中,只有 Y 轴和 Z 轴发生变化,X 始终接近于零。有谁知道为什么会这样?

谢谢!

数据正确,world coordinate中的x值应该接近0。这是因为 magnetic field sensor vector 假设位于世界 North-Sky 平面上,因此 x-coordinate(东坐标)应该为零。 在第一张图中,x 因设备基础不同而不同。想想一个固定的向量,但坐标代表这个向量的变化。因此2个不同的坐标可能代表同一个向量。