그래픽스 프로그래밍 실습 #2

- Hierarchical objects & transformation

(321190)

강사: 박경신

2007년 4월 13일

제출 방법: 2007년 5월 2일(수) 밤10까지

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

OpenGL geometry (cube, cone, cylinder, torus, disk, etc)를 이용하여 10개정도의 물체 (자동차, 집, 나무, 도로, 등등)로 town을 만든다. (50점)

자동차는 네모박스 모양에 4개의 바퀴를 갖고 있다. (glPushMatrix와 glPopMatrix를 사용해서 hierarchical structure를 갖는다.)

나무는 cylinder으로 나무 기둥을 만들고 sphere/cone으로 나뭇잎부분을 만든다.

각각의 물체는 local coordinate system에서 만든 후 transformation(translate, rotate, scale)하여 배치시킨다.

'w' KEY를 눌렀을 때, wireframe과 solid modeling으로 전환가능하게 만든다.

자동차가 도로 위로 달린다. (20점)

‘m’ KEY를 눌렀을 때, 자동차가 도로 위로 달린다.

mouse motion에 따라 물체가 움직인다. (extra 10점)

화면의 좌우로 마우스를 움직이면 y축을 중심으로 town 전체가 회전한다.

화면의 위아래로 마우스를 움직이면 x축을 중심으로 town 전체가 회전한다.

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