본문 바로가기
프로그래머의 길/C & C++

직선의 방정식 및 제3의 점과의 거리

by 하늘아래. 2016. 1. 22.
반응형

직선과 수직이 가능한 포인트인가?

   double ay = lat - y1;
   double ax = lon - x1;
   double by = y2 - y1;
   double bx = x2 - x1;
 
   double check = (ax*bx + ay*by) / (bx*bx + by*by);  // 수직 체크

///////////////////////////////////////////////////

수직일 경우 직선과 점과의 거리 측정

   double a = y1 - y2;
   double b = x2 - x1;
   double c = (x1 * y2) - (x2 * y1);

   double top = abs( (a * lon) + (b * lat) + c );
   double bottom = sqrt( (a * a) + (b * b) );

   double dis = top / bottom;  // 거리 계산

 

TransPOS.zip
다운로드

 

 

 

반응형