相关疑难解决方法(0)

Android - 加速下降(粉碎)


视频解释为那些不理解的人


这个答案没有正确答案请尝试使用另一种解决方案(100 Bounty已过期)

同样的问题但更好地解释

这个问题被认为是正确的,但它完全没有,我用我的旧设备ZTE尝试了它并且大部分时间工作,但现在我有三星Galazy A5 2016并且它不起作用,在LG G3上都没有.

事情正在尝试使用Accelerometer,有些Sensors我必须能够检测到我在视频上制作的那两个动画中的任何一个.

有两个动作:

  • 粉碎它(以一点速度)
  • 自由落体

我让你来决定,并说服了我什么是更好的选择和EASIER一个做的,具有更好的我的意思是,在大多数设备的工作原理.

android accelerator sensor

25
推荐指数
1
解决办法
1705
查看次数

指南针 - 跟踪完整360度旋转的数量

假设一个人正在使用这个指南针,从90度开始他们开始顺时针或逆时针旋转.什么是计算完成360度旋转的最佳方法?假设它们只是顺时针旋转,或者只是从头到尾逆时针旋转.

我一直在提出解决方案,如果开始轴承是例如90度,我会在传感器数据发生变化时继续检查下一个轴承,如果它始终朝一个方向移动,我知道它们正在旋转.如果它们继续沿那个方向旋转并使其回到90度,那就算是一个旋转.我的方式似乎非常复杂和低效,我很难想出一个更好的方法.

在这种情况下,我期待多次完整旋转.

我很感激任何帮助.谢谢!

我发现了这个相关的答案,我正在尝试为此编写一个代码示例.如果某人已经做过类似的事情,请发布!

@Override
public void onSensorChanged(SensorEvent event)
{
    switch(event.sensor.getType())
    {
        case Sensor.TYPE_GRAVITY:
        {
            mValuesAccelerometer = lowPass(event.values.clone(), mValuesAccelerometer);
            break;
        }
        case Sensor.TYPE_MAGNETIC_FIELD:
        {
            mValuesMagneticField = lowPass(event.values.clone(), mValuesMagneticField);
            break;
        }
    }

    boolean success = SensorManager.getRotationMatrix(
            mMatrixR,
            mMatrixI,
            mValuesAccelerometer,
            mValuesMagneticField);

    if (success)
    {
        SensorManager.getOrientation(mMatrixR, mMatrixValues);

        float azimuth = toDegrees(mMatrixValues[0]);
        float pitch = toDegrees(mMatrixValues[1]);
        float roll = toDegrees(mMatrixValues[2]);

        if (azimuth < 0.0d)
        {
            //The bearing in degrees
            azimuth += 360.0d;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-sensors compass-geolocation

5
推荐指数
1
解决办法
685
查看次数