cubelover의 블로그

점 P에서 중심이 O이고 반지름이 r인 원에 접선을 그었을 때, 그 접점을 Q라 하자. OP의 방향을 u, POQ의 크기를 v라 하면 OQ의 방향은 u+v 또는 u-v가 됨을 알 수 있다.



OP의 방향은 atan2 함수로 구할 수 있고, POQ의 크기는 OP의 길이와 OQ의 길이를 알고 있으므로 acos으로 구할 수 있다.


def angle(P, O, r):
    OP = ( (P.x - O.x) ** 2 + (P.y - O.y) ** 2 ) ** 0.5
    u = atan2 ( P.x - O.x, P.y - O.y )
    v = acos ( r / OP )
    return ( u + v , u - v )

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

점과 선분 사이의 거리  (0) 2016.01.02
점과 직선 사이의 거리  (0) 2016.01.02