메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

수학도 기하학도 허접한 제가 짠 거라서 허접하지만
넓은 아량으로 봐 주십시오.

struct Point
{
     double x;
     double y;
};

bool LineIn(Point p1, Point p2, Point p3)
{
     double top, bottom;

 //위 아래 범위 결정
     if(p1.y < p2.y)
     {
          top = p1.y;
          bottom = p2.y;
     }
     else
     {
          top = p2.y;
          bottom = p1.y;
     }

     //변의 y범위에 속해있지 않으면 절대 교차하지 않음
     if(p3.y < top || p3.y >= bottom)return false;

     //변 안의 p3와 같은 y좌표에 있는 점 구하기
     double new_x;
     if(p1.y == p2.y) //수직선
     {
          new_x = p1.x;
     }
     else //아닌 경우 x의 변화량을 구함
     {
          double gradient = (p2.x - p1.x) / (p2.y - p1.y);
          new_x = (p3.y-p1.y)*gradient+p1.x;
     }

     //그 점이 비교하는 점보다 왼쪽에 있으면 교차하지 않음, 오른쪽이면 교차
     if(new_x < p3.x)return false;
          else return true;
}

bool PointIn(Point* polygon, int point_num, Point point)
{
     int collusion=0;

     //각 변을 점과 비교(점에서 오른쪽으로 그은 수평선과 변이 교차하는지 검사)
     for(int i=0; i<point_num; ++i)
     {
          int j = i+1;
          if(j>=point_num)j=0;
          if(LineIn(polygon[i], polygon[j], point))++collusion;
     }

     //교차하는 수가 짝수이면 밖, 홀수이면 안
     if((collusion%2)==0)return false;
          else return true;
}

조회 수 :
5358
등록일 :
2008.04.14
02:21:07 (*.193.78.73)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=189730
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
185 질문 있습니다.. C언어 인거 같은데 [7] 포오ㅏ로 2005-02-24 1957
184 밑에 포와로님의 질문 답 [4] 대슬 2005-02-24 1900
183 흑곰님 질문 [2] 라컨 2005-08-22 2015
182 퀴즈소스입니다 허클베리핀님 라컨 2005-08-23 2546
181 비베 질문 [2] 재피디 2005-09-10 1888
180 액션알피지 원거리 무기 질문 [8] 아리포 2006-01-18 1741
179 여러분 질문있어요. 성심성의껏좀 알려주세요 흑흑 [6] 케르메스 2006-02-11 2022
178 [질문]알만툴 게임 [1] 허클베리핀 2006-12-28 1974
177 똥똥배의 게임대회 이야기(1) 혼돈 2007-02-06 2953
176 똥똥배의 게임대회 이야기(2) [2] 혼돈 2007-02-07 2816
175 똥똥배의 게임대회 이야기(3) [1] 혼돈 2007-02-08 3007
174 똥똥배의 게임대회 이야기(4) [1] 혼돈 2007-02-10 2881
173 스크립트 질문좀 하겠습니다....이벤트에 대한것!! [2] 여유 2007-04-23 1859
172 질문요.C++ [7] 질문자01 2007-05-10 2729
171 흥크립트 0.9 새 기능 소개 [3] file 혼돈 2007-10-15 2289
170 흥크립트 Ver0.9 변수 안의 변수 기능 [2] 혼돈 2007-10-16 2208
169 혼돈형한테 질문 (페인트샾 관련) [2] file 장펭돌 2007-11-19 939
168 혼돈형에게 질문! [3] 장펭돌 2007-11-28 1851
167 질문 2가지+1 [2] file Wonder 2007-11-30 1964
166 흥크립트로 만든 예제 [1] file 대슬 2007-12-01 2051