opengl을 이용한 사각형 회전(회전 방향 전환), 랜덤 색 바꾸기, 클릭으로 삼각형 그리기 ( 소스코드, 보고서)
- 최초 등록일
- 2012.07.02
- 최종 저작일
- 2012.03
- 5페이지/ 압축파일
- 가격 1,000원
소개글
키보드와 마우스 이벤트를 활용하는 예제 입니다.
원래 과제의 내용 >
1-1. Rotate a square in the reverse direction if ‘R’ or ‘r’ is d pressed
1-2. Change the color of square randomly whenever the left Change the color of square randomly whenever the left mouse button is clicked
2-1. Draw a triangle through three mouse clicks.
1번은 하나의 사각형을 그려서 회전하게 하며, 키보드 입력에 회전 방향을 바꾸는 것이고
2번은 클릭을 세번하여 삼각형을 그리는 것입니다.
소스코드(*.cpp)와 보고서 있습니다. 보고서는 실제 레포트 제출용이기 때문에 성의것 작성 되었으며,
소스코드에는 주석이 포함되어 있어서 보고서와 소스코드 보시면 바로 이해 가능합니다.
보고서에 고찰/실행 결과 포함되어 있습니다.
목차
Rotate a square in the reverse direction if ‘R’or ‘r’is pressed
1. 해결방법
2. 소스설명
Change the color of square randomly whenever the left mouse button is clicked
1. 해결방법
2. 소스 설명
3. Exercise 1의 실행 결과
4. Exercise 1 고찰
Draw a triangle through three mouse clicks
1. 해결방법
2. 소스설명
3. Exercise 2의 실행결과
4. Exercise 2 고찰
본문내용
<Exercise 1>
Rotate a square in the reverse direction if ‘R’or ‘r’is pressed
1. 해결방법
- 현재 사각형이 돌고 있는 방향을 기억하는 전역변수 `rotate`
-‘R’or ‘r’이 입력 될 때 `rotate`가 1씩 증가
- timer 함수에서 `rotate`가 짝수일 때 반시계 방향으로 회전, 홀수일 때 시계방향으로 회전
2. 소스설명
Change the color of square randomly whenever the left mouse button is clicked
해결방법
- 도형의 색을 결정하는 glColor3f의 파라미터를 전역변수로 선언된 배열의 값으로 설정
- 마우스 왼쪽을 클릭하면 배열의 각 요소를 0 또는 1의 난수를 생성하여 대입
- 난수로 채워진 각 배열의 요소가 glColor3f의 파라미터에 대입되어 도형의 색 변경
2. 소스 설명
3. Exercise 1의 실행 결과
4. Exercise 1 고찰
사각형을 거꾸로 돌리는 경우 처음엔 속도만 빨라지는 경우가 많았다. 그 이유는 사각형이 돌아가는 것 등의 기존의 소스 코드에 대한 이해가 부족했기 때문이었다. 그래서 과제를 시작하기 전 이전의 소스 코드를 보며 다시 동작에 대해 이해하고 함수들이 호출되는 과정과 시점 등을 이해했다. 그렇게 하고 방향을 바꾸는 법에 대해 생각해보니 의외로 쉽게 해결책을 찾을 수 있었다. 비록 이것저것 중구난방으로 바꾸며 시도할 때 보다 시간이 오래 걸렸을지 몰라도 수업내용과 과제내용을 모두 이해할 수 있어서 보람 있었다.
참고 자료
없음
압축파일 내 파일목록
01_RevRotate.cpp
02_DrawTriangle.cpp
Report.hwp