3
가속도계를 사용하여 장치가 슬라이드하는 거리를 측정하려고합니다.iOS 가속도계로 슬라이딩 거리
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
CGFloat interval = [NSDate timeIntervalSinceReferenceDate] - lastTime;
CGFloat velocity = ((acceleration.y + lastAcceleration)/2) * interval * 9.8 + lastVelocity;
totalDistance += velocity * interval;
lastAcceleration = acceleration.y;
lastVelocity = velocity;
lastTime = [NSDate timeIntervalSinceReferenceDate];
}
결과는 매우 불규칙하며, 실제 값의 +/- 30 % 범위 : 이것은 내가 그것을하고있어 방법이다. 내 계산이 정확합니까? 그렇다면이 코드를 어떻게보다 정확하게 만들 수 있습니까?
은 공기에 더 부드러운 전환을한다 이동하면서 이동함에 따라 표면 마찰 센서 값을 변경하는 진동을 야기 할 것으로 생각 했는가? 당신이하려는 것은 동작 감지에서 가장 어려운 문제 중 하나이며 시간이 지남에 따라 예상되는 거리를 재배 향할 방법이 없으면 더 나 빠지게됩니다. – FaultyJuggler
[악명 높은 이중 적분] (http://stackoverflow.com/a/7835988/341970)을 수행하려고하는 것처럼 보입니다. 나는 당신이 단지 30 %의 오류를 가지고 놀랐습니다. – Ali
흠 ... 그래서 아이폰의 현재 하드웨어로는 이것이 불가능하다는 말입니까? –