노스 사우스 이스트 웨스트 방향의 논리를 사용하여 선분 (lx1, ly1) (lx2, ly2)과 관련하여 2D 그래프에서 점 (px, py)의 위치를 확인하려고합니다. . 내가 구현 한 논리는 점에서 선분에 직각을 그리는 것입니다.2D 수학 지리적 방향
수직선이 온라인이면 그 남쪽을 의미합니다.
오른쪽의 점이 동쪽을 가리키는 경우.
왼쪽의 점이 서쪽을 의미하면.
수직선이 정방향으로 선에서 벗어난다면 북쪽을 의미합니다.
수직선이 역방향으로 선에서 멀어지면 남쪽을 의미합니다.
내 논리는이 논리가 용지에서 좋게 보이지만 NW, NE, SW 또는 SE의 경우를 결정하는 것이 어렵다는 것입니다. 아무도 나 에게이 논리를 계산하는 방법을 제안 할 수 있습니까 ?? 나는 C++을 사용하고 있지만 어떤 언어의 알고리즘이든 큰 도움이 될 것입니다.
북동쪽 서쪽 관계를 계산하기 위해 선분 끝점을 사용하고 있습니다.
건배
대부분의 수학 라이브러리에서 사용할 수있는 atan2() 함수 호출을 사용하면 0으로 나누기 문제를 피할 수 있습니다. – ndim
아, 각도를 라디안으로 지정하면 (arctan()처럼) '2 * PI'를 곱하는 대신 '180/PI'를 곱하여 각도를 얻습니다. – ndim
안녕 얘들 아, 고맙습니다. 나는이 제안을 시도하고 당신을 업데이트 할 것입니다. – Zinx