我计划在android平台上开发一个基于加速度计的鼠标。我计划使用的移动设备是 HTC Nexus One。光标应随着移动设备移动空间而移动。与重力运动相比,这会困难吗?
最佳答案
由于您提出问题的方式,这个问题很难回答。
您想用鼠标做什么?如果您尝试在计算机上移动鼠标,则还需要创建一个 PC 可以运行的软件包,该软件包能够设置鼠标的位置。
显然,手机中的加速器通常检测 x、y 和 Z 轴上的加速度。如果您将手机放在 table 上,您会发现手机的重量低于 1g(应该是小写还是大写?)。这实际上是 1g 的加速度,即使它没有加速,你仍然有它。您可以通过记录该 1g 分量在三个轴上的差异来检测手机的滚动情况。即,x 轴和 z 轴上的 g 力相等,y 轴上的 g 力为零,那么您可以“假设”手机以 45 度角握持。
当各分量的总和不等于 1g 时,您就知道您的手机实际上正在加速。但是,您需要知道手机的位置。由于数学的工作方式令人愉快而痛苦,如果您计算出手机加速度的微分(在每个轴上)的微分,您应该知道位置。从加速度计算出位置的确切方法比我早上能想到的还要多,但是如果你为它们全部保持一个常数,那么这些关系的转换相当简单,时间! p>
关于Android 加速度计鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2536351/