我有一个3轴加速度计(任何手机),但我找不到任何好的公式来解释来自它的数据。无论我做什么动作都是生涩/不敏感。我读过,我还需要欧拉角或旋转矩阵?我如何计算使用3轴加速度计的鼠标移动
我会明白什么好材料阅读...
我有一个3轴加速度计(任何手机),但我找不到任何好的公式来解释来自它的数据。无论我做什么动作都是生涩/不敏感。我读过,我还需要欧拉角或旋转矩阵?我如何计算使用3轴加速度计的鼠标移动
我会明白什么好材料阅读...
你试图建立为iPhone 3D鼠标的程序? (已经有几个了。)你能准确描述你想要对应什么动作的用户动作吗?
要做的最简单的事情是通过加速度矢量的点积乘以(0,0,1000)的反余弦来得到设备的螺距。
如果您试图实现一种通过在空间中来回滑动iPhone来在屏幕上来回移动指针的设备,那么这会很困难,因为这需要相对剧烈的手部动作来产生大的加速度与重力加速度相比。像iPhone中的MEMS加速度计在测量重力方向上非常出色,但在测量设备本身的实际加速度时却很差。
如果你稍微描述你的应用程序,我可能会给你更具体的指针。
表示空间旋转有多种不同的方式,但是四元数在游戏编程社区中非常流行。谷歌搜索给你一些链接到一些引物。 GamaSutra是一个开始的好地方。
http://www.gamasutra.com/features/19980703/quaternions_01.htm
http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation
http://www.flipcode.com/documents/matrfaq.html
对于它的价值,从苹果的一些加速度计样本:
而且如果你瞄准了像从德军总部3D倾斜控制,你可以去阅读the source code为.... :-)
尝试核心位置? – Leo 2009-09-14 08:52:58
它的设计目的和用途是两件不同的事情。 – Leo 2009-09-23 01:53:23