2012-05-25 3 views
0

저는 지리적 인식 iPhone 앱을 만들고 있는데 사용자 위치와 두 지점 사이의 거리를 계산하고 싶습니다. 사용자가 멀리 줄에서 그러나 만약의 경우 무한 투사 근처 - 라인이 유한 한 것을지도에서 선과 점 사이의 거리 찾기

Shortest distance between a point and a line segment

그러나이 고려하지 않은 :이 같은 무언가를이 답변을 찾을 선은 가장 가까운 점이 아닌 점과 무한한 투영 사이의 거리로 나옵니다.

+0

"선"이 항상 "원형"인 구면 위에 원이 있다고 생각하십니까? – meronix

+0

기술적으로는 그렇습니다. 그러나 내가 다루는 거리가 유클리드 좌표로 취급 할 수있을만큼 충분히 작다고 생각했습니다. 구면 좌표가 아닌 유효한 단순화일까요? – benwad

+0

어쩌면 합리적인 resoulution과 함께 샘플 세트를 취하여 각 포인트를 비교하고 포인트의 끝에 도달하거나 멀리 떨어진 곳에서 마지막 포인트까지 멀어지기 시작할 수 있습니다. – picknick

답변

1

을 선택해야 점 P 당신이 설명하는대로 당신에게 무한한 선의 한 점을주기 위해서입니다. 그런 다음 해당 점이 경계선에 있는지 확인합니다 (즉, x 좌표는 최소 및 최대 x 좌표 내에 있고 y는 동일합니다). 그런 다음 반환합니다. 그렇지 않으면 가장 가까운 점은 끝점 중 하나입니다. 어느 것을 해결하십시오. 끝난.

+0

@MBo가 실제 솔루션을 확인했습니다. 't'의 값은 테스트 포인트가 유한 라인 어디에 있는지에 대해 알아야 할 모든 것을 알려줍니다. – acraig5075

1

당신은 할 경우 라인 AB 당신이 선 AB, 다음 거리 AP와 BP에 점 P에서의 거리를 찾아서 연결 솔루션을 사용하여 (나쁜 영어 죄송합니다) 가장 짧은 하나

관련 문제