나는 안드로이드 전화 축을 세계 좌표 축으로 변환하려는 프로젝트를 진행하고 있습니다. 나는 3 축 (x, y, z)을 따라 가속도를 가지며 3 개의 각도는 방위각, 피치 및 롤입니다. 어떻게하면 사실상 내 휴대폰 축을 세계 좌표 축 (Trueenorth, trueeast)으로 변환 할 수 있습니까? 내가하는 한 나에게 잘못된 결과를주고있다. 내 접근 방식입니다.전화 축에서 세계 좌표 축으로의 변환
는 라디안 세 각도가 -0.030029837 -0.008528218 -0.199289320 전화의 X, Y, Z 축과 0.01618620 0.48581530 0.19617330 따라 가속도라고 방위각, 피치 및 롤되고 있습니다.
"진실"을 따라 가속도를 얻으려면 간단히 Y 축을 따라 가속도를 가져 와서 세 가지 각도 즉 cos을 곱하면됩니다. -0.008528218 * COS (0.19617330) * COS (0.48581530) * COS (0.01618620) = - 0.00739584
는 "trueeast"함께 가속도를 얻으려면 단순히 X 축 방향의 가속도를 복용하고 모든 왜냐하면 그것을 곱입니다 세 가지 각도 즉. -0.030029837 * COS (0.19617330) * COS (0.48581530) * COS (0.01618620) = - 0.026042471
는 "수직 위쪽"을 따라 가속도를 얻으려면 단순히 Z 축 방향의 가속도를 가지고 그리고 COS와 승산하고 2 개의 각 ie. -0.199289320 * cos (0.19617330) * cos (0.48581530) = - 0.172850298
이제 내가 잘못했는지 여부를 확인하십시오. 나는 일관성 테스트를했다. 휴대 전화의 X, Y, Z 축을 따라 가속하는 정도는 진실을 따라 가속하는 진폭과 같아야하며, 진실과 수직 위로 향해야합니다. 그러나 이것은 평등하지 않게 될 것입니다.
0.20은 0.17과 같지 않습니다.
어디로 가고 있습니까? 누군가 나를 도와 줄 수 있다면 큰 도움이 될 것입니다.
미리 감사드립니다.