Archives for July 2010

iOS4中Core Motion框架的介绍和使用

作为一个刚学习iPhone编程一周的人来说,其实写这篇文章的目的不是传道授业解惑,而是为了知识的总结。如果能吸引到各位为我传道授业解惑那再好不过了。文章基本的内容,整个流程是参照WWDC 2010上的session 423: Sensing Device Motion in iOS4写的,同时参考了开发文档Event Handling Guide for iPhone OS: Motion Events。当然,我在介绍的时候会添加一些个人的总结和原理的补充。文章可能有错误的叙述,发现后请指出,谢谢。 我之前的文章:移动设备智能化的基石–从iPhone4的传感器谈起曾经写过,iPhone4增加的陀螺仪弥补了很多现有motion sensor的不足,也介绍了很多背景知识。加速度计最大的缺陷,就是无法检测沿着重力加速度轴方面的旋转变化,而且,如果仅仅有加速度计,无法避免重力的干扰。传统的方法是怎么做的呢?先高通滤波,把近似于直流分量的重力加速度隔离出来,再低通滤波,把因为手机颤抖产生的高频噪声去掉。大量的滤波,不仅会影响到原本的加速度信号,还会严重减缓处理速度,并随之影响程序相应速度。电子罗盘在这方面毫无帮助,这玩意本身的读数都需要很长的稳定时间,还特别容易受环境干扰。所以,陀螺仪的引入,解决了这几个大问题,我们可以用它来测量沿重力加速度的旋转,也可以测量快速的旋转,大大增强了motion相关的处理工作,更重要的是,通过陀螺仪可以判断手机当前的摆放位置和姿势,然后通过这个信息能够得到相当准确的重力加速度分量,而不是从加速计采集的包含很多噪声的加速度值中提取。所以说,陀螺仪对于motion sensing方面的工作,是最关键的一个部件。陀螺仪的具体原理,请参考之前那篇文章。

Samsung Galaxy S上手感受

先说一下配置 4 inch capacitive Super AMOLED Display 1GHz Hummingbird processor 1500mAh lithium ion battery 5MP camera with 720p video recording 2GB microSD card preloaded 在最新一代Android手机中做出选择时,由于EVO和DroidX都缺少移动计算研究中一个杀手级的部件:陀螺仪,所以,硬件配置不相上下的Sumsang Galaxy S就成了我的唯一选择。我是从Tmobile买的Sumsang Vibrant,实际上和原版Galaxy S是一模一样的,区别就是多了一坨我用不着的程序。 直入主题吧,先来一张包装照

冯诺依曼和画大象

作为数学狂人,很多人都有狂人名言。对于冯诺依曼这样一个神一样的人物来讲,名言自是不少。其中一个特别著名的,就是 给我四个系数,我可以画出一头大象;给我五个系数,大象将会摇动尾巴 这句话最初是处于著名理论数学家弗里曼·戴森2004年发表的nature文章,A meeting with Enrico Fermi。他提出的某个模型被另一个大牛恩里科·费米批评为过于复杂,当时费米就用了冯诺依曼的这句话作为一个对比。 这估计是一个学术圈很有名的轶事,可惜的是一直没有人真正把冯诺依曼的这句话描述的模型实现。现在,来自德国的一群科学家终于真正把它实现出来了:

移动设备智能化的基石–从iPhone4的传感器谈起

毫无疑问,今天的智能手机已经是人们注目的焦点,作为移动计算最坚定的鼓吹者,我实在想不出它将来不风卷整个世界的理由。它小巧,易携,功能却很强大,可以用它当照相,摄像,玩游戏,玩虚拟现实应用,当然,最重要的一点,就是可以拿来装B。它可以通过你的不同动作来辨别你对它的控制期许,根据你的使用情况进行实时反馈。它是未来数字世界智能化的先锋,也是单身青年的泡妞利器。但是,在你在无聊时大玩Labyrinth2迷宫滚球时,当你在追女孩时拿出手机在Google Map上找酒吧时,当你手持iPad在飞机上低调不语还能引来空姐围观时,有没有仔细想过,是什么东西将这种新潮,智能,百般武艺样样精通的光环带给移动手机呢?