그래픽스 프로그래밍(321190) 실습 #3

- 3D graphics & viewing

(321190)

강사: 박경신

2008년 5월 8일

제출 방법: 2007년 5월 23일(금) 밤12시까지

(e-learning 강의실에 실행파일과 소스코드와 리포트를 전부 “학번이름_숙제3.zip”으로 묶어서 제출하도록 합니다. 또한, 소스코트 폴더에 .cpp만 담지 말고 비주얼 스튜디오에서 만든 프로젝트 폴더를 담기 바랍니다.)

1. Display window 크기는 650 x 650로 한다.

2. 강의 사이트 (dis.dankook.ac.kr/lectures/cg08/)에 있는 한국(Korea) 또는 일본(Japan)의 지도, 도시명을 읽어서 3차원으로 그리는 프로그램을 작성한다. (25점)

한국 지도와 도시: korealatlon2.txt & koreacity2.txt

일본 지도와 도시: japanlatlon2.txt & japancity2.txt

-korealatlon2.txt와 japanlatlon2.txt는 lab-01의 지도파일과는 다르게 3~4개의

선으로 구성되어 있음. 따라서 lab-02과 같이 여러 개의 선을 읽어서 그려야 함.

-gluPerspective와 gluLookAt를 사용함

3. 강의 사이트 (dis.dankook.ac.kr/lectures/cg08/)에 있는 지진데이터 koreaquake2.txt와 japanquake2.txt을 읽어서 한국(Korea)/일본(Japan)의 지도와 도시 위에 지진 자료를 그리는 3차원 그래픽 프로그램을 작성한다. (30점)

한국 지진데이터: koreaquake2.txt or 일본 지진데이터: japanquake2.txt

-지진데이터:

int year, month, day;

double time;

float lat, lon;

float magnitude;

float depth;

float r, g, b;

-지진 데이터에서 magnitude가 3.0 이하는 노란색으로, 8.0 이상일 경우는

빨간색으로 색의 interpolation 값을 준다.

4. 정면 방향 (Perspective View)의 주 윈도우 외에 추가로 200x200 크기의 남쪽에서 북쪽으로 본 방면 (S looking N), 동쪽에서 서쪽으로 본 방면 (E looking W), 좌측으로 돌려진 방면 (Side View)의 윈도우를 추가한다. (10점)

5. 지진, 지도, 도시명 자료를 다 읽은 후 min, max 값을 찾고 Bounding box를 그린다. (5점)

6. 창의성, 소스코드 주석처리, 리포트 (30점)