2014-08-31 5 views
1

장치 가속도계를 사용하고 가속도계 데이터 CMAcceleration을 부드럽게하려고합니다.가속도계 저역 통과 필터 스무딩

이 코드의 도움으로이 일을하고있다 :

-(void)proccessAccelerometerData:(CMAcceleration)accelData { 
    currentAccelX = (kUpdateInterval * accelData.x) + ((1.0 - kUpdateInterval) * currentAccelX); 
    currentAccelY = (kUpdateInterval * accelData.y) + ((1.0 - kUpdateInterval) * currentAccelY); 
} 

어떤 currentAccelXcurrentAccelY 마지막 가속도계 x와 y 데이터입니다.

이제 사용자가 장치를 왼쪽/오른쪽/위/아래로 움직일 때 id를 결정하기 위해 x 또는 y 값을 어떻게 사용합니까?

예를 들어, 왼쪽/오른쪽/위/아래 각 방향에 대해 4 개의 버튼이 있고 사용자가 사용자가 기기를 스 와이프하는 방향을 결정하고 싶다고 가정 해 보겠습니다. (스 와이프 제스처가 아닙니다). 미리 감사드립니다.

+1

"왼쪽/오른쪽/위/아래"는 장치의 보관 방법에 따라 다릅니다. 이동 평균은 장치가 현재 움직이는 방향을 반영하지 않는다는 것입니다. Ex move : u1, u2, d1, u2, u1, d2. 평균은 u5이고 전류는 d2입니다. 문제는 더 많은 설명이 필요하며 달성하고자하는 것이 도움이 될 것입니다. – zaph

+0

@Zaph 내가 u8에 대한 내 질문을 편집 – gran33

답변

1

장치를 세로 방향으로 잡고 있다고 가정하면 x 축은 왼쪽과 오른쪽으로 이동합니다 (양수 x는 오른쪽, 음수 x는 왼쪽).
y 축은 장치의 위아래 이동을 나타냅니다 (양수 y는 위쪽, 음수 y는 아래쪽).
z 축은 장치의 앞뒤 이동을 나타냅니다 (양수 z는 사용자를 향하고 음수 z는 사용자와 멀어집니다).
Apple의 정보 그래픽이 있습니다. developer.apple.com

+0

내 질문 친구를 읽었습니까? – gran33

+1

질문을 명확히 할 수 있습니까? – zaph

+3

그렇다면 장치가 세로, 거꾸로 또는 다른 기울기로 놓여 있더라도 사용자와 관련된 장치의 이동 방향을 결정하는 방법을 알고 싶습니까? – smudis

관련 문제