加速计原理
方向感应器的实现靠的是iPhone的内置加速计。iPhone所采用的加速计是三轴加速计,分为X轴、Y轴和Z轴。这三个轴所构成的立体空间足以侦测到你在iPhone上的各种动作。在实际应用时通常是以这三个轴(或任意两个轴)所构成的角度来计算iPhone倾斜的角度,从而计算出重力加速度的值。
通过感知特定方向的惯性力总量,加速计可以测量出加速度和重力。iPhone的三轴加速计意味着它能够检测到三维空间中的运动或重力引力。因此,加速计不但可以指示握持电话的方式(或自动旋转功能),而且如果电话放在桌子上的话,还可以指示电话的正面朝上还是朝下。
加速计可以测量重力引力(g),因此当加速计返回值为1.0时,表示在特定方向上感知到1g.如果是静止握持iPhone而没有任何动作,那么地球引力对其施加的力大约为1g.如果是纵向竖直地握持iPhone,那么iPhone会检测并报告在其y轴上施加的力大约为1g。如果是以一定角度握持 iPhone,那么这1g的力会分布到不同的轴上,这取决于握持iPhone的方式。当以45度角握持iPhone时,1g的力会均匀的分解到两个轴上。
正常使用时,加速计在任一轴上都不会检测到远大于1g的值。如果检测到的加速计值远大于1g,那么即可判断这是突然动作。如果摇动、坠落或是投掷iPhone,那么加速计便会在一个或多个轴上检测到很大的力。