Tag: 加速度计

如何比较一个常量值和每次循环中持续更新的加速度计值?

正如我在之前的一篇文章中所build议的那样 ,下面的代码将来自加速度计的数据作为“分钟”赋值: CMAccelerometerData * data = [manager accelerometerData]; 然后从该数据中提取在x轴上执行的加速度,并将其值存储在双倍(double x): CMMotionManager* manager = [[CMMotionManager alloc] init]; CMAccelerometerData* data = [manager accelerometerData]; double x = [data acceleration].x; 假设存储的值是0.03,假设我想在while循环中使用它,如下所示: while (x > 0) { // do something } 上面的循环显然会永远运行 但是 ,如果我使用下面的代码呢? CMMotionManager* manager = [[CMMotionManager alloc] init]; while([[manager accelerometerData] acceleration].x > 0) { // do something } […]

在Javascript中将移动加速度计X / Y / Z规范化为地球坐标不起作用

我正在使用GryoNormlogging加速计和设备的方向。 我的目标是确保我能够在X / Y / Z上获得加速(不加合并,所以我不想做sqrt (x^2 + y^2 + z^2)而不pipe电话是怎么样的保存,用例是在汽车中跟踪传感器数据(检测不良驾驶模式) 我提到这个线程(和这个线程),我认为我做的是正确的,也就是说, 获取acc数据, 定位, 得到rotationMatrix&颠倒它, 乘以acc。 数据与倒转旋转matrix来获取地球数据 但是,我的结果不是独立于手机的方向 。 我的设备:iPhone 7,iOS 10.3.3 首先是代码: import {mat3} from 'gl-matrix'; let gyroNormArgs = { gravityNormalized:false, // tried true too orientationBase:GyroNorm.WORLD, // tried .GAME too frequency:1000, screenAdjusted:false, } 当我得到acc时,在callback里面。 数据和方向数据(gdata): let alpha = gdata.dm.alpha; let beta = gdata.dm.beta; let […]

如何从iPhone的X,Y,Z加速度计读数计算加速度/减速度

我正在写一个iPhone / iPad应用程序。 需要计算加速度和减速度不规则的接近水平线的行驶方向上的加速度和减速度。 我有来自X,Y,Z正交加速度计的3个读数的序列。 但iphone / ipad的方向是任意的,加速度计读数包括车辆运动和重力的影响。 结果应该是一系列单一的加速度值,根据车辆是减速还是加速,这些值是正值还是负值。 只要加速度与减速符号相反,正负方向是任意的。 重力应该被排除在结果之外。 结果的一些可变的平滑将是有用的。 解决scheme应该尽可能简单,并且必须具有计算效率。 答案应该是某种伪代码algorithm,C代码或一系列方程式,可以很容易地转换成C代码。 Objective C中的iPhone特定解决scheme也可以。 谢谢

iOS中的设备移动检测

我想要检测设备的运动,如Panorama即motion from my left side to Right side 。 我尝试了accelerometer但是我无法做到。 当设备移动时,我喜欢直线移动一个图像。 我的代码如下: – (void)viewDidLoad { [super viewDidLoad]; [[UIAccelerometer sharedAccelerometer] setUpdateInterval:1/60]; [[UIAccelerometer sharedAccelerometer]setDelegate:self]; } 编译标记 – 加速度计委托 – (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate: (UIAcceleration *)acceleration{ valueX = acceleration.x*100.0; valueY = acceleration.y*30.0; float newX = (float)(ball.center.x + valueX); CGPoint newCenter = CGPointMake(newX, 50); ball.center = newCenter; } 我怎样才能做到这一点? 因为有很多应用程序使用这个。 […]

Android / iOS如何确定使用传感器的距离的微小变化?

我一直在做一些研究,但似乎无法find使用Android或iOS设备中的传感器来确定小距离(厘米和米)的方法。 蓝牙看起来太不准确,需要多个设备,GPS只能工作在较大的距离变化上,旋转的小变化似乎使得使用加速度计几乎不可能。 有没有一种方法,我不知道这会让我做这样的事情? 我熟悉微积分,所以使用积分来确定基于时间和速度/加速度变化的距离对我来说不是问题,我只是不知道如何确定这些东西。 谢谢。

如果使用CoreMotion / Accelerometer删除iPhone,则以编程方式进行检测

所以我写了一段代码,在上面的iOS 4.3中,我必须使用加速度计和陀螺仪来检测不同的移动手势。 Q1:是否有任何已经实现了移动/手势检测的开源代码? 如果不 Q2:现在我想检测iPhone是否掉线。 到目前为止,我所取得的成就是: CoreMotion API提供了userAcceleration ,其中(afaik)是用户给设备的加速度,或者是在某个方向(x,y或z)加速的设备,可以做的是:存储,比如前面的5-6个加速度参数值,可以检查其中的任何一个碰到大的负值,这基本上代表了突然减速。 但是这个解决scheme并不是非常优化,我想我需要先检测设备的自由下落运动。 任何想法如何解决这个问题? 更新:感谢Misch分享你的方法。 我完全没有想到总加速度。 我的确如你所说: “然而,你将不得不testing自己,什么意思是”总的加速度大致对应于地球的加速度“和”在一段时间内“你的情况。 加速度值实际上是在G中,所以我testing了“总加速度”值在0.9-1.1的范围内。 我检查了一段时间,最初我检查了updateInterval设置为1 / 20.0时连续四个值。 现在我已经放松了一点连续性的条件。 这是一个示例输出: 加速度= 0.090868 加速度= 0.074473 加速度= 0.159797 加速= 1.157513 加速= 1.224588 加速= 1.036272 加速度= 0.914698 加速= 0.904093 加速= 0.941516 加速度= 0.046362 加速度= 0.045109 加速度= 0.060045 我想,我还是要继续testing和调整价值。 如果你有任何优化,请分享,我知道为了帮助你需要看到自由落体加速度值的许多样本。 现在我想: 将加速度的值四舍五入到小数点后三位,并使用我正在使用的加速度范围。 可能是检查自由落体情况后,总加速度值是否突然下降。 你认为我引用的加速度值有点吵?

使用加速度计获取相对于地平面的设备平面

假设iPhone被放置在平坦的桌子上。 我想确定桌面平面的angular度,其中angular度为0意味着桌子恰好垂直于重力vector。 我使用下面的公式: radians = atanf (z / sqrt (x^2 + y^2) 在.h double accelerationXAverage; double accelerationYAverage; double accelerationZAverage; double accelerationXSum; double accelerationYSum; double accelerationZSum; int readingsCount; 在他们中 #define kThresholdMovementHigh 0.05 – (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { // did device move a lot? if so, reset sums if (fabsf(acceleration.x – accelerationXAverage) > kThresholdMovementHigh || fabsf(acceleration.y […]

计步器在背景中

我知道这已经被问了一百万次了,但对我来说却是不可能的。 所以我需要build立一个计步器的应用程序,并继续计数步骤事件,如果他们发送应用程序的背景超过10分钟。 客户端根本不想使用GPS,也不会播放无声的audio,因为苹果可能会拒绝。 有没有人有一个想法如何做到这一点? 客户端使用Runtastic计步器应用程序作为参考,我一直在分析它,它不使用,也没有位置,也没有音乐,并在后台运行超过10分钟。 任何线索? 这样做真的是不可能的吗? Runtastic的人可能会认同苹果使用一些秘密API让它在后台运行吗?

如何获得IOS中的加速度计数据?

我正在使用UIAccelerotmeterDelegate方法accelerometer:didAccelerate:但最近该方法已被弃用在iOS 5.0中。 那么获取加速度计数据的另一种方法是什么呢? 文件没有提到我们应该使用的替代scheme。

如何使用加速计在iphone屏幕上的油漆?

我是新的iPhone开发,我正在开发一个应用程序,我不得不使用加速度计在屏幕上绘画。 请帮助我这是可以做到的,如果有的话帮助我。