2014-09-12 2 views
12

사용자가 휴대 전화를 가지고있는 것과 관계없이 휴대 전화의 움직임을 감지하는 방법을 검색합니다.기기 회전에 관계없이 움직임 감지

몇 가지 예 :

  • 내가 수직 이동에 관심이 있어요 (사용자가 전화를 끌어처럼) '무시'전화 테이블에 낳는다 또는 손에 개최하는 경우 (어쩌면 거꾸로) .
  • 또한 사용자가 휴대 전화를 몸에서 멀리 밀 때처럼 수평 이동에 관심이 있습니다. 또한 사용자가 휴대 전화를 휴대하는 방식을 '무시'합니다.

배경은 사용자가 주머니에서 전화기를 당겨 (30-40cm 높이에서 몇 센티미터 높이까지 끌어 당기는 것처럼) 인식하고 싶습니다.

나는 사용자 동의와 태도의 조합을 가져야한다고 생각한다. 하지만 정확한 수학을 찾지 못했습니다 ..

+0

흔들림을 감지 하시겠습니까? – Vidhi

+1

아니요. 사용자가 전화를 보유하는 방식에 관계없이 전화를 몇 cm 위로 또는 앞쪽으로 당긴 것처럼 '공간'에서 움직임을 감지하고 싶습니다. – Thorsten

+0

"나는 userAcceleration과 태도에서 조합을 얻어야한다고 생각합니다. 그러나 정확한 수학을 찾지 못했습니다 .."이 진술을 명확히 할 수 있습니까? (즉, 이미 시도한 것을 보여주십시오) –

답변

0

앱이 포 그라운드 인 경우이 작업을 수행 할 수 있습니다. UIDeviceOrientationLandscapeLeftUIDeviceOrientationLandscapeRightUIDeviceOrientationPortraitUpsideDown/UIDeviceOrientationPortrait을 사용하여 휴대 전화가 생각하는 풍경을 감지 할 수 있으며, 거기에서 움직임을 계산하는 방법을 조정할 수 있습니다.

휴대 전화를 들었을 때 아마도 바뀔 것입니다. 가속도계를 사용하면 휴대 전화의 움직임을 사진으로 볼 수 있습니다. 이것은 비록 시험의 톤을 요구할 것입니다. 연습 앱을 설치하고 화면 방향 변경에 대한 많은 양의 데이터를 얻고 각 변화에 따라 가속도계가 어떻게 동작하는지 추세를 찾습니다.

1

"올바른 수학"의 의미가 확실하지 않습니다. 그러나 나는 가속도계를 읽고 모든 3 방향 (x/y/z)의 절대 값을 합산합니다. 이렇게하면 휴대 전화의 방향이나 이동 방향에 관계없이 가속에 대한 단일 번호가 부여됩니다.

RMS 가속도를 계산하는 것, 즉 x/y/z 가속도의 제곱을 합하여 합계의 제곱근을 계산하는 것이 더 좋습니다.

이 방법의 명백한 단점은 이동 방향에 대한 정보를 제공하지 않는다는 것입니다. 한 번의 선형 움직임과 흔들림을 구분하기 위해 몇 가지 임계 값이나 필터링을 추가 할 수 있습니다 (예 : 두 가지 가속 이벤트 사이의 시간 측정).

또한 30 ... 40cm의 차이를 정확하게 측정 할 수 있는지 의심 스럽지만 고도 변화를 확인할 수 있습니다 (이것은 휴대 전화 방향과 별개입니다).

관련 문제