gpt4 book ai didi

Android 方向作为转向 - 滚动损坏间距?

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

我正在开发一个项目,其中包括一个 Android 应用程序,用于控制/转向。

  • 速度:当您向前/向后倾斜手机(俯仰)时,它会模拟放气和 splinter 。
  • 方向:当您向左/向右倾斜手机(滚动)时,它会模拟左右转向。

我已经写了一些看起来工作正常的代码。但是当我仔细观察时,我发现有些值表现得很奇怪。

当我向前/向后倾斜手机以处理速度时,它运行得非常完美,我得到了预期的速度和方向值。但是,当我将手机向左/向右倾斜以处理方向时,它似乎会破坏某些值。当它向左/向右倾斜时,不仅会改变方向值(roll),还会影响速度值(pitch)。

额外信息:

  • Android 2.2 编程
  • 设备是 Google Nexus One
  • 纵向手持设备

我用来读取传感器值的最相关代码如下:

public void onSensorChanged(SensorEvent sensorEvent)
{
synchronized (this)
{
if (sensorEvent.sensor.getType() == Sensor.TYPE_ORIENTATION)
{
float azimuth = sensorEvent.values[0]; // azimuth rotation around the z-axis
float pitch = sensorEvent.values[1]; // pitch rotation around the x-axis
float roll = sensorEvent.values[2]; // roll rotation around the y-axis

System.out.println("pitch: " + pitch);
System.out.println("roll: " + roll);
System.out.println("--------------------");

// Convert the sensor values to the actual speed and direction values
float speed = (pitch * 2.222f) + 200;
float direction = roll * -2.222f;

所以当我运行代码时,我会查看打印的值。向左/向右倾斜设备时,它似乎也会影响音高值。怎么会?在“滚动”时如何获得纯音高值?因此,向左/向右倾斜手机不会影响/破坏音高值。

最佳答案

您可以继续阅读 Gimbal lock .以前我就被它咬过。

关于Android 方向作为转向 - 滚动损坏间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5231800/

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