겨울팥죽 여름빙수
article thumbnail
c#, 점 - 선분 간의 거리 구하기

물리, 수학적 처리를 하다보면, 점과 선분 사이의 거리를 구해야 할 때가 있다. 직선과 점의 거리와는 다르게 선분과 점 사이의 거리는 조금 더 까다롭다. 아무튼 중고등학생 때의 기억을 되짚어보면서 구현 해 보았다. 1. 원리 이해 선분 SE, 점 P가 있다. 우선 점 P를 SE로 수선의 발을 내렸을 때, 그 안에 포함 되는지, 아니면 밖에 있는지 구분해야 한다. 이것을 구분하기 위해선, 벡터의 내적을 이용해야한다. - 내적 > 0 이면, θ 90 - 내적 = 0 이면, θ = 90 즉 - (벡터 SE와 벡터 SP의 내적) * (벡터 ES, 벡터 EP) >= 0 이면 위 그림 왼쪽과 같이 수선의 발이 선분위에 존재한다. 그 외에는 - SP의 거리, EP의 거리 중 작..