cmdeviceMotion을 사용할 때 장치가 똑바로 (피치= 90)되면 정말 불안정합니다.어쨌든 이것을 해결할 수 있습니까?

StackOverflow https://stackoverflow.com//questions/10665306

  •  11-12-2019
  •  | 
  •  

문제

나는 (피치, 요, 롤) 좌표계가 자체 결함 수학적으로 현명한 것을 알고 있습니다. 그러나 나는 정말로이 좌표에서 대신 또는 파생 된 것을 정말로 희망합니다.

어떻게하려고 노력하고있는 것입니다 (실제 세계에서 장치를 움직이고, 사용자의 눈에 관한 요와 피치를 파악하려고 노력하고 있습니다. 따라서, 요의 범위는 (-180, 180)이고 피치의 범위는 (-90, 90)이어야한다. 내가 iPhone (항상 나에게 직면 해 있음)을 옮기는 동안 cmdeviceMotion은 0에서 90까지의 피치를 변화시키고 iPhone (아직도 직면 해 있고)을 전면에서 맨 위에 옮기면 CmdeViceMotion은 90 백으로 피치를 변경합니다. 0. 이들은 좋으며 피치 데이터에 대해 완벽하게 만족합니다.

그러나 피치가 90에 가까울 때, 요, 매우 흔들리고 불안정합니다. 피치가 약 90 일 때 야이의 변화를 무시할 수 있기 때문에 문제가되지 않습니다. 그러나 실제 문제는 피치가 증가하고 피치가 감소한 후에 요의 가치가 극적으로 변화하는 것입니다. 나는 흔들리는 것이 아니라 평균 변화가 아니라는 것을 의미합니다! 180 (PI)와 같은 것을 변경합니다. 나는 그것이 좌표가 완전히 변화하기 때문입니다. 그러나 나는 지금 좌표 전송에서 잃어버린다.

도움이 되었습니까?

해결책

방금 설명한이 지저분한 해결 방법은 롤, 피치 및 요를 사용하지 않아야하는 이유입니다.

이 도로를 더욱이로 이동하여 엉망으로 엉망이되거나 회전 매트릭스 또는 쿼터 니온을 사용하십시오 .

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top