그라함(Graham) 알고리즘 구현 실습
본 자료는 1페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
해당 자료는 1페이지 까지만 미리보기를 제공합니다.
1페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

그라함(Graham) 알고리즘 구현 실습에 대한 보고서 자료입니다.

본문내용

B의 기울기가 선분 AC보다 작을 경우 시계반대방향
if(dxAB * dyAC == dyAB * dxAC) {//선분 AB, AC의 기울기가 같을 경우
if(dxAB == 0 && dyAB ==0 ) dir =0 ; //x,y변화량이 0이면 dir=0
if ((dxAB * dxAC < 0)||(dyAB * dyAC<0)) dir = -1; //A가 가운데인 경우
else if((dxAB*dxAB + dyAB*dyAB) >=
(dxAC*dxAC + dyAC *dyAC)) dir = 0; //C가 가운데인 경우
else dir =1; //B가 가운데인 경우우
}
return dir;
}
void main(){
int convex=0;
int num;
cout<< \" point 의 개수를 입력하시오 : \";
cin>>num;
Polygon poly(num);
poly.init_points();
convex = poly.GrahamScan();
cout<<\"CONVEX HULL의 개수 : \"< }
[소감]
- 이번 실습은 저번 실습과 이어지는 것이었는데 저번 실습내용을 바탕으로 볼록 껍질인 convex hull을 Graham알고리즘에 의해서 구하는 것이었다. 우선은 점들의 값의 기준점을 구한 뒤 기준점을 index=0인 것과 위치를 바꾼다. 그리고 이 struct point 배열을 통해서 단순다각형을 구현하고 이것으로부터 오목한 점을 삭제 해나가는 방법이다. 이 알고리즘이 잘 이해가 안 되서 좀 어려웠지만 그래서 프로그램 소스가 프린트에 나와 있어서 많은 도움이 된 것 같다.
  • 가격1,900
  • 페이지수5페이지
  • 등록일2020.12.09
  • 저작시기2007.8
  • 파일형식한글(hwp)
  • 자료번호#1141753
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니