Android加速度计 - 检测人类跳跃

时间:2014-08-10 06:27:12

标签: android accelerometer physics detection

我目前差不多在android上开发我的第一个应用程序,除了人类跳跃检测似乎太慢/不准确我的愿望。我使用了搜索栏来改变灵敏度,但我只相信我的检测算法是低效的。我试着到处寻找正确的跳跃检测,但没有运气。它似乎归结为一些好的物理和数学。

这是我的算法(来自onSensorChangeListener()内部),当口袋中的手机向上时,灵敏度为0-100,但默认为50:

if(phonePosition=="UP"){

        if(event.values[1]>(15-(sensitivity-50)/10)){
            inAir=true;
        }
        if(inAir&&event.values[1]<(5+(sensitivity-50)/10)){
            freeFall=true;
        }
        if(freeFall&&event.values[1]>(13-(sensitivity-50)/10)){
            rebound=true;
        }
        if(rebound&&event.values[1]<(10+(sensitivity-50)/10)&&event.values[1]>(1-(sensitivity-50)/10))
        {
            sp.play(beep1,1,1,0,0,1);
            jumpCount++;
            inAir=false;
            freeFall=false;
            rebound=false;
        }   

        jumps.setText(Integer.toString(jumpCount));

        }

以下是一些跳跃的xyz值图表,如果有帮助的话: http://pastebin.com/DtTC3DnL

0 个答案:

没有答案