《iPhone开发创意火花集》第五章iPhone软件创意赏析,本章将分别对多点触摸、重力感应、影音播放器以及其他创意进行硬件和软件方面的赏析,让广大读者对iPhone的软件有更加深刻的了解,以激励其去开发创作自己的软件。本节为大家介绍加速计原理。
AD:
5.2 重力感应
![]() |
(点击查看大图)图5-38 iPhone的重力感应 |
iPhone吸引人目光的另一个特色,就是它的重力感应技术。iPhone 通过内置方向感应器来对动作做出反应。当你将 iPhone 由纵向转为横向时,方向感应器会自动做出反应并改变显示方式。传统的手机界面基本上都是很死板的,无论你怎么动或是怎么摇晃它,界面都不会随之变动,只能朝一个方向定位。然而运用了重力感应技术的iPhone手机,改变了传统手机这一刻板的印象,使得画面会随着你的旨意转动。
这是一个相当实用的功能。举个简单的例子来说,市面上大部分手机都是矩形手机,长和宽的尺寸不一样,这样在用手机浏览网页或看电子书的时候,界面所呈现的也多是矩形画面,长与宽的比例也是不一样的。以一段文章段落来看,由于文字是由左向右排列的,因此横向的文字会比纵向的文字来得多,而传统手机一般都是横向比纵向短,因此浏览起来很不方便。有了iPhone重力感应器之后,这个问题就解决了,因为它可以让你的手机横向与纵向随着你手的转动方向而变化。这种应用上的创新设计,让用户有了全新的体验感受。
5.2.1 加速计原理
方向感应器的实现靠的是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,那么加速计便会在一个或多个轴上检测到很大的力。
![]() |
图5-39 iPhone内的三轴加速计 |