다음 코드를 사용하여 장치가 한 곳에서 다른 곳으로 이동할 때의 거리를 계산했습니다. 올바른지 또는 제 코드를 살펴보십시오.UIAccelerometer 거리 계산
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
NSDate *now = [NSDate date];
NSTimeInterval intervalDate = [now timeIntervalSinceDate:now_prev];
sx = acceleration.x * kFilteringFactor + sx * (1.0 - kFilteringFactor);
sy = acceleration.y * kFilteringFactor + sy * (1.0 - kFilteringFactor);
sz = acceleration.z * kFilteringFactor + sz * (1.0 - kFilteringFactor);
[xLabel setText:[NSString stringWithFormat:@"%.2f",sx]];
[yLabel setText:[NSString stringWithFormat:@"%.2f",sy]];
[zLabel setText:[NSString stringWithFormat:@"%.2f",sz]];
float aValue = sqrtf(sx*sx+sy*sy+sz*sz);
[gLabel setText:[NSString stringWithFormat:@"%.2f g",aValue]];
velX += (sx * intervalDate);
distX += (velX * intervalDate);
velY += (sy * intervalDate);
distY += (velY * intervalDate);
velZ += (sz * intervalDate);
distZ += (velZ * intervalDate);
float distance = sqrtf(distX*distX+distY*distY+distZ*distZ);
[distanceLabel setText:[NSString stringWithFormat:@"%.2f",distance*0.0006213f]];
now_prev = [now retain];
}
당신은 어느쪽으로 든 문제가 생길 것입니다. 이런 종류의 'dead reconing'은 끔찍하게 부정확합니다. 전화의 감속도 다루지는 않습니다. –
나는 너를 못 잡았어. UIAccelerationValues에서 거리를 계산해 보라고 할 수 있니? – SRI
왜 사람들이 질문에 downvote 모르겠어요. 어떤 일이 잘못되면 내 질문에 대답? Downvote는 괜찮아요, 또한 올바른 일이 잘못되었습니다. – SRI