2009-09-03 8 views

답변

9

들어오는 데이터를 사용하기 전에 필터를 적용하여 가속도계 데이터를 부드럽게 할 수 있습니다. 당신이 원할 것 인 첫번째 물건은 당신의 필터를 위해 상수를 셋업한다. 당신의 didAccelerate 방법에

#define kFilteringFactor 0.1 

, 당신은 당신을 위해 다음 필터링 코드를

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration 
{ 
    sx = acceleration.x * kFilteringFactor + sx * (1.0 - kFilteringFactor); 
    sy = acceleration.y * kFilteringFactor + sy * (1.0 - kFilteringFactor); 
    sz = acceleration.z * kFilteringFactor + sz * (1.0 - kFilteringFactor); 
} 

위의 코드는 부드럽게해야 데이터를 추가해야합니다. sx, sy 및 sz 값은 UIAccelerationValue 유형입니다.

애플의 문서에는 이와 관련하여 유용하게 사용할 수있는 관련 정보가 많이 있습니다.

+0

위대한 답변! 추가 할 것은 sx, sy 및 sz 변수를 헤더 파일에 선언해야 다음 계산시 값을 사용할 수 있습니다. 저에게 큰 도움이되었습니다. – Structurer