문제

나는 지점(위도/경도)과 이 지점이 따라 이동하는 방향(진북)을 가지고 있습니다.볼록할 수도 있고 그렇지 않을 수도 있는 수많은 고정 다각형(위도/경도로 정의된 점)이 있습니다.

내 질문은 다각형과 가장 가까운 교차점을 어떻게 계산합니까?Ray Tracing에 대한 몇 가지 혼란스러운 게시물을 보았지만 Ray와 Polygon이 동일한 평면에 있지 않고 Polygon이 볼록해야 하는 경우 모두 3D와 관련된 것으로 보입니다.

도움이 되었습니까?

해결책 4

이 페이지의 답이 가장 정확한 것 같습니다.

질문 1. Godeguru

다른 팁

간단한 2D 라인 교차로를 할 수 있어야하는 것 같습니다 ...

그러나 나는 LAT/오래 전에 일했으며 2D 좌표 시스템에 맞지 않는다는 것을 알고 있습니다.

나는 일반적인 "ispointinpolygon"기능으로 시작하고, 인터넷 검색으로 백만을 찾은 다음 폴리에서 테스트하여 그것이 얼마나 잘 작동하는지 확인할 수 있습니다. 그들이 충분히 정확하다면 그것을 사용하십시오. 그러나 LAT/긴 좌표의 비 제곱 특성으로 인해 구형 지오메트리를 사용하여 약간의 수정을해야 할 수도 있습니다.

2D에서는 계산이 매우 간단합니다.

항상 광선의 끝점이 다각형 내부에 있지 않은지 확인하는 것부터 시작할 수 있습니다(이 경우 교차점이기 때문입니다).

끝점이 선 밖에 있으면 다각형의 각 경계 특징과 광선/선 세그먼트 교차를 수행하고 가장 가까운 발견 위치를 사용할 수 있습니다.볼록/오목 특징 등을 처리합니다.

광선이 다각형에서 각 라인 세그먼트를 교차하는지 여부를 계산합니다. 이 기술을 사용합니다.

(내가 허용 된) 답변의 결과 스케일링 계수 (내가 h)는 "광선을 따라 교차로가 얼마나 멀리 떨어져 있는지"입니다. 당신은 사이의 가치를 찾고 있습니다 0 그리고 1.

교차점이 여러 개 있다면 괜찮습니다! "첫 번째"를 원한다면 가장 작은 값을 가진 사람을 사용하십시오. h.

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