0

我想在目标 c 中查找重力,我在我的项目中使用加速度计。但我在谷歌上没有找到重力的好教程,所以我需要帮助

我想在重力仪内移动红色的小圆圈,如附图所示。

我目前正在使用加速度计,我可以使用加速度计找到重力。

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {

 ...............

  labelX.text = [NSString stringWithFormat:@"%@%f", @"X: ", acceleration.x];
  labelY.text = [NSString stringWithFormat:@"%@%f", @"Y: ", acceleration.y];
  labelZ.text = [NSString stringWithFormat:@"%@%f", @"Z: ", acceleration.z];  
![enter image description here][1]}

谢谢

在此处输入图像描述m.png

4

1 回答 1

2

查看该应用程序(视频计),您似乎正在寻找正在施加的 G 力。G 力不是重力 - 它是一种外部机械力(用户摆动设备等),特别定义为不是来自地球重力。这很重要,因为在 iPhone 或任何其他支持加速计的设备上,当没有运动时它会报告全 0。如果它报告重力,则任何读数都会不断报告 Y/向下轴的运动(地球将您拉下)。

您正在寻找 G-force,这意味着您需要:

  1. 运动方向
  2. 运动的力量

查看 Apple 的UIAcceleration 对象文档- 您将根据哪些变量正在更改获得方向 - x, y, z. 这些变量的值会为您提供一个力(1.0 近似为 g,即 9.8m/s2 - 地球重力)。如何在图表上显示该数据取决于您 - 您可以存储加速事件的历史记录,然后为它们设置动画,并在加速停止时将点重置为中间(当加速停止时,UIAccelerometer 共享对象将开始报告 0 值) .

于 2013-03-23T19:16:20.900 回答