2013-09-24 4 views
5

두 개의 다각형이 있으며 최소 거리를 가져오고이 거리 사이의 점을 측정합니다. 물론 그러한 점은 두 노드 사이의 가장자리에있을 수 있습니다.두 개의 다각형의 가장 가까운 점

Example

내가 나에게 녹색 거리와 두 점을 제공하는 알고리즘을 찾고 있어요 : 여기

은 예입니다.

+1

유지되는 경우는 plygons이 오목 수 있음을 보인다. 그렇지 않으면 GJK 알고리즘은 문제에 대한 훌륭한 해결책입니다. –

+0

참조 http://stackoverflow.com/questions/3700983/what-is-the-fastest-algorithm-to-calculate-the-minimum-distance-between-two-sets – Ari

답변

2

다각형이 교차하지 않는 경우, 당신은이 작업을 수행 할 수 있습니다 :

당신이 다각형 A와 다각형 B와 A [I] 및 B [J]를 경우 A와 B의 꼭지점이 각각 있습니다. 그런 다음 A [i]에서 B의 각 세그먼트까지 가장 가까운 거리를 계산할 수 있습니다 (this과 같은 것을 사용할 수 있지만 세그먼트로 작업 할 것이라는 점을 감안해야합니다.) 따라서 시작점과 끝점을 가지고 작업해야합니다. 세그먼트).

은 그럼 당신은 A.

의 모든 세그먼트에 동일하지만 모든 B의 [j를]에서을 그리고 마지막으로 가장 작은 하나를 수행해야합니다.

이전 메모를 기억하십시오. 교차점이 세그먼트 밖으로 나올 수 있기 때문에이 세그먼트가있는 줄까지의 최단 거리를 계산하면서 세그먼트의 시작점과 끝점을 고려하십시오. 이 마지막 것을 확인하려면 here을보십시오. 요점은 밖으로 세그먼트의 가장 가까운 가장자리) 그림에서

감사

관련 문제