手机游戏 Send Me To Heaven 的原理是啥

我猜根据加速度的变化应该能判断出来吧,在空中时只有重力加速度和空气阻力,可以认为其合力指向地心,而当被手接住,必然出现震荡。也许对这种瞬间变化,用小波来识别比较方便?
■网友
转:
重力传感器可以测量xyz三个方向上受到的重力加速度的分量。正常情况下三个分量的矢量和大小等于,方向向下。从扔出去开始时,手机会处于失重状态(有人会问为什么么?),重力传感器的三个分量都会急剧趋向于零。为了防止阻力带来误差和扰动,设置一个下限即可。传感器达到下限开启定时器,超过下限停止定时器。自由落体的公式可知高度(PS:因为高度只和纵向速度有关,所以平抛是不会影响结果的)。
再加上另外一些区分条件,比如自由落体出手时,重力传感器的加速度是从(矢量和)降到0附近的而往上扔(出手之前)的时候,会有一个超重的过程,重力加速度会先大于上面那个值,再降到0附近。往上扔的时候自由落体时间等于全部运动时间的二分之一,一样可以算出高度。斜抛和向上抛是一样的。
向下抛也可以,我想了一下认为要通过积分来判断,不知道这个游戏有没有考虑了。。。来个人试一下往地上摔吧。下抛落地时间会比上抛要短(废话)。总而言之目测把全部运动都按照二分之一来算也是没问题的。
【手机游戏 Send Me To Heaven 的原理是啥】 更加精确的甚至可以通过加速度传感器积分得到速度,然后根据速度算扔出高度,这是一道普通的高中物理计算练习题了,只需要计算速度v的垂直分量即可。已知垂直分量,可知高度。不过积分带来的误差会比较多,可能根据需要进行中值滤波(其实重力传感器偶尔也是需要的,去除误差嘛),以及去除零点漂移。
PS:有人问道旋转带来的加速度的干扰,旋转是肯定是有干扰的,不过旋转带来的加速度,得看传感器离手机旋转轴的半径,自由旋转这个半径不会超过手机尺寸的一半,根据传感器的位置可能会更小。向心加速度,在角速度达到5圈每秒()的时候,半径为2cm那么加速度就可以达到约2g的效果了。
PPS:旋转是失重的太空飞船想象中实现重力的一个好方法。
珍惜手机的建议:
往水里丢放丝袜里丢放枕头里丢人和手机一起丢在床上丢
■网友
出手跟接到的时间就可以了
■网友
猜测可能是先获得出手时的初速度,这样很容易计算出高度。


    推荐阅读