cubelover의 블로그

점 P에서 직선 AB에 내린 수선의 발을 H라 하자. 선분 PH의 길이가 점 P와 직선 AB사이의 거리가 된다.


또한, 삼각형 PAB의 넓이는 AB*PH/2 임을 알 수 있다.



삼각형 PAB의 넓이는 외적으로 구할 수 있고, 선분 AB의 길이는 두 점 사이의 거리로 구할 수 있으므로 선분 PH의 길이는 다음처럼 구할 수 있다.


def dist(P, A, B):
    area = abs ( (A.x - P.x) * (B.y - P.y) - (A.y - P.y) * (B.x - P.x) )
    AB = ( (A.x - B.x) ** 2 + (A.y - B.y) ** 2 ) ** 0.5
    return ( area / AB )

'기하' 카테고리의 다른 글

점에서 원에 그은 접선  (0) 2016.01.02
점과 선분 사이의 거리  (0) 2016.01.02