증강 현실 애플리케이션을 작성하려고합니다. 오버레이를 만들기 위해 나침반, 자이로 스코프 및 GPS 좌표를 사용하고 있습니다. 사용자가 세로 모드를 벗어나는 경우를 제외하면 모든 것이 잘 작동합니다. 내가 알아 내지 못하는 단순한 삼각 문제 일뿐입니다.방향을 다루는 iPhone 삼각법
좌표가 시야에 있는지 알아 보려면 프로그램 시작시 계산 된 iPhone의 중심점의 방위각 및 경사 값을 사용합니다. 방위각은 휴대 전화가 위를 향할 때 왼쪽 및 오른쪽 움직임으로 정의되고, 휴대 전화가 위를 향할 때 경사는 위아래로 움직입니다. 그런 다음이 값을 자이로 스코프로 업데이트하고 업데이트 할 때 나침반 데이터를 업데이트합니다. 따라서 중심점의 기울기와 방위각을 올바르게 업데이트하면 모든 것이 작동합니다.
아이폰을 돌릴 때 방위각과 기울기의 정의가 전화기와 동일하게 유지되는 것이 문제입니다. 따라서 전화기가 옆으로 있어도 기울기는 여전히 전화기 상단까지 정의됩니다.
내가 같은 것을 수행 하였다 시도 :
self.centerPoint.azimuth = (degToRad(angleX)*cosZ) + (degToRad(angleY)*sinZ);
self.centerPoint.inclination = (degToRad(angleY)*cosZ) + (degToRad(angleX)*sinZ);
degToRad (X)를 라디안으로 변환
, cosZ 및 sinZ는 COS 및 자이로 스코프에서의 z의 각도 죄 각각 있으며 angleX 및 angleY는 자이로 스코프의 x 및 y 각도입니다. 자이로 스코프의 X- 각은 상하 각도를 측정하고, Y- 각도는 좌우로 측정하며, Z- 각도는 세로에서 가로로 전화의 회전을 측정합니다.
작동하지 않는 것 같습니다. 휴대 전화를 옆으로 돌리면 기울기가 급격히 증가합니다. 어떤 삼각 지대 사람들이 도울 수 있습니까?
일반적으로 세로 방향만을 고려할 때 azimuth = degToRad (angleX) 및 inclination = degToRad (angleY)를 추가해야합니다. 세로 방향으로 작동합니다. 나는 다른 각도를 설명하기 위해 이것을 몇 가지 요인으로 곱해야합니다.
Apple Stack Exchange 웹 사이트? – Shoe
아니요, 이것은 프로그래밍 질문입니다. Apple 소프트웨어 관련 질문이 아닙니다. –