SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
교과목명
컴퓨터 그래픽스
페이지
1/5
작성자
이상호
확인자
이병래 교수
승인자
이병래 교수
작성일
2020-07-17
제목
2020학년도 1학기 출석수업대체시험 실습과제
파일명
[방송통신대 컴퓨터과학과] 컴퓨터
그래픽스_출석수업대체과제물_중간평가_20200516.hwp
- 1 -
2020학년도 1학기 출석수업대체시험 실습과제
❍ 교과목명 : 컴퓨터 그래픽스
❍ 학 번 : 201934-363698
❍ 성 명 : 이상호
❍ 연 락 처 : 010-4078-7412
l 과 제 명 :
· 기울기가 1보다 큰 선분을 그릴 수 있도록 교재 82쪽(멀티미디어 강의자료 3강 26번 슬라이드)의 알
고리즘을 수정하고, 선분 (2, 1) - (5, 8)을 그리는 과정을 구하라(멀티미디어 강의자료 3강 25번 슬라
이드 참고).
· 홀-짝 규칙을 이용하여 다각형의 내부와 외부를 판별하는 과정에 대하여 설명하라.
< 목 차 >
I. Bresenham 선분 알고리즘 ·························································································· 2
II. 다각형 내/외부 판별 ································································································· 4
III. 참고문헌 ····················································································································· 5
제목
2020학년도 1학기 출석수업대체시험 실습과제
작성일
2020-07-17
페이지
2/5
- 2 -
I. Bresenham 선분 알고리즘
Ÿ Bresenham 알고리즘은 x-y 평면의 8분면 및 4분면의 대칭성을 통해 임의의 기울기를 갖는 선분들을
일반화될 수 있다.
Ÿ 즉 기울기가 1보다 큰 경우 해당 도서에 기술한 예시 (0 < 기울기 < 1)에서와 같이 y = x를 기준으
로 좌표 변환하면 된다 (소스 코드에서 보라색 표기).
Ÿ 그 결과 그림 1에서 각 x 좌표에 따른 y 좌표를 나타내었고 이를 해당 경우 (기울기 > 1: 주황색,
기울기 = 1: 회색, 0 < 기울기 < 1: 청색)에 대한 가시화하였다 (그림 2 참조).
#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
void fnBresenhamLine(int xl, int yl, int xr, int yr) {
int x = xl, y = yl, W = abs(xr - xl), H = abs(yr - yl);
int F = (2 * H) - W, dF1 = (2 * H), dF2 = 2 * (H - W);
printf("[INIT] xl : %d, yl : %d, xr : %d, yr : %d n", xl, yl, xr, yr);
printf("[INIT] x : %d, y : %d, W : %d, H : %d, F : %d, dF1 : %d, dF2 : %d n", x, y, W, H, F, dF1, dF2);
for (x = xl; x <= xr; x++) {
// 0 < m < 1의 경우
// printf("[OUT] x : %d, y : %d, F : %d n", x, y, F);
// m > 1의 경우
printf("[OUT] x :%d, y :%d, F :%d n", y, x, F);
if (F < 0 ) {
F += dF1;
} else {
y++;
F += dF2;
}
}
}
int main() {
printf("%s n", "[START] fnBresenhamLine");
fnBresenhamLine(2 , 1 , 5 , 8 );
printf("%s n", "[END] fnBresenhamLine");
return 0 ;
}
표 1. 조건 (기울기 > 1)에 대한 알고리즘 소스 코드.
제목
2020학년도 1학기 출석수업대체시험 실습과제
작성일
2020-07-17
페이지
3/5
- 3 -
그림 1. 조건 (기울기 > 1)에 따른 선분 알고리즘 실행 결과.
그림 2. 조건 (기울기 > 1: 주황색, 기울기 = 1: 회색, 0 < 기울기 < 1: 청색)에 대한
선분 알고리즘 가시화.
제목
2020학년도 1학기 출석수업대체시험 실습과제
작성일
2020-07-17
페이지
4/5
- 4 -
II. 다각형 내/외부 판별
Ÿ 우선 다각형의 내/외부 판별의 경우 주어진 점 (x, y)의 점 포함 여부와 동일하다.
Ÿ 즉 점 (x, y)에서 시작하여 우측 수평 방향의 반직선 (half-line)입니다.
Ÿ 만약 점이 다각형의 내부에 존재하는 경우 이 반직선은 다각형의 모든 변과 반드시 1회 교차한다
(그림 3 참조).
그림 3. 다각형의 내부에 존재하는 반직선 교차선.
Ÿ 한편 점이 다각형의 외부에 존재하는 경우 반직선은 다각형의 변과는 전혀 교차하지 않거나 다각
형의 내부를 2번 교차 통과한다. 즉 반직선 변의 교차 횟수는 0회 또는 2회가 된다 (그림 4 참조).
Ÿ 따라서 다각형에 대해서는 반직선 변의 교차 횟수가 1회이면 점을 포함하고 있으며 0번 또는 2번이
면 포함하고 있지 않다고 판단 할 수 있다.
그림 4. 다각형의 외부에 존재하는 반직선 교차선.
Ÿ 이러한 판정 조건은 다각형에 대해서도 일반화가 가능하다. 일반 다각형에 대해서는 반직선 변의
교차 횟수가 홀수이면 점을 포함하고 있으며, 짝수이면 포함하고 있지 않다고 판단할 수 있습니다.
제목
2020학년도 1학기 출석수업대체시험 실습과제
작성일
2020-07-17
페이지
5/5
- 5 -
III. 참고문헌
1. 위키백과. (2020). “볼록 다각형”,
https://ko.wikipedia.org/wiki/%EB%B3%BC%EB%A1%9D_%EB%8B%A4%EA%B0%81%ED%98%95.
2. 티스토리. (2016). “[기하] 다각형의 내부 외부 판별”, https://bowbowbow.tistory.com/24.

Contenu connexe

Similaire à [방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 제출본 (7)

2012 Dm A0 06 Pdf
2012 Dm A0 06 Pdf2012 Dm A0 06 Pdf
2012 Dm A0 06 Pdf
 
이산치수학 Project5
이산치수학 Project5이산치수학 Project5
이산치수학 Project5
 
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
지도 학습, 함수 근사와 최적화 문제: 데이터는 우악하니 데이터 사이언스라도 우아하게
 
자구2번
자구2번자구2번
자구2번
 
5통신망에서 길 찾기
5통신망에서 길 찾기5통신망에서 길 찾기
5통신망에서 길 찾기
 
Project#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 HwpProject#5 통신망에서 길 찾기 Hwp
Project#5 통신망에서 길 찾기 Hwp
 
Big data 시대의 통계학
Big data 시대의 통계학 Big data 시대의 통계학
Big data 시대의 통계학
 

Plus de Lee Sang-Ho

Plus de Lee Sang-Ho (20)

20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
20230105_[강릉원주대 대기환경과학과] 2015년 1학기 전선 지구환경융합과학 과제물.pdf
 
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
[강릉원주대 대기환경과학과] 2015년 1학기 심교 식품과화학물질 과제물.pdf
 
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
[강릉원주대 대기환경과학과] 2014년 겨울학기 일교 인간과환경 과제물.pdf
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 인터넷과 정보사회 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 모바일 앱 프로그래밍 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 그래픽 커뮤니케이션 기말평가 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 일선 그래픽 커뮤니케이션 과제물 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
[방송통신대 컴퓨터과학과] 2020년 1학기 교양 컴퓨터의 이해 과제물 제출본
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 문제
 
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 과제물 문제[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 과제물 문제
[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 보안 과제물 문제
 

[방송통신대 컴퓨터과학과] 2020년 1학기 전공 컴퓨터 그래픽스 과제물 제출본

  • 1. 교과목명 컴퓨터 그래픽스 페이지 1/5 작성자 이상호 확인자 이병래 교수 승인자 이병래 교수 작성일 2020-07-17 제목 2020학년도 1학기 출석수업대체시험 실습과제 파일명 [방송통신대 컴퓨터과학과] 컴퓨터 그래픽스_출석수업대체과제물_중간평가_20200516.hwp - 1 - 2020학년도 1학기 출석수업대체시험 실습과제 ❍ 교과목명 : 컴퓨터 그래픽스 ❍ 학 번 : 201934-363698 ❍ 성 명 : 이상호 ❍ 연 락 처 : 010-4078-7412 l 과 제 명 : · 기울기가 1보다 큰 선분을 그릴 수 있도록 교재 82쪽(멀티미디어 강의자료 3강 26번 슬라이드)의 알 고리즘을 수정하고, 선분 (2, 1) - (5, 8)을 그리는 과정을 구하라(멀티미디어 강의자료 3강 25번 슬라 이드 참고). · 홀-짝 규칙을 이용하여 다각형의 내부와 외부를 판별하는 과정에 대하여 설명하라. < 목 차 > I. Bresenham 선분 알고리즘 ·························································································· 2 II. 다각형 내/외부 판별 ································································································· 4 III. 참고문헌 ····················································································································· 5
  • 2. 제목 2020학년도 1학기 출석수업대체시험 실습과제 작성일 2020-07-17 페이지 2/5 - 2 - I. Bresenham 선분 알고리즘 Ÿ Bresenham 알고리즘은 x-y 평면의 8분면 및 4분면의 대칭성을 통해 임의의 기울기를 갖는 선분들을 일반화될 수 있다. Ÿ 즉 기울기가 1보다 큰 경우 해당 도서에 기술한 예시 (0 < 기울기 < 1)에서와 같이 y = x를 기준으 로 좌표 변환하면 된다 (소스 코드에서 보라색 표기). Ÿ 그 결과 그림 1에서 각 x 좌표에 따른 y 좌표를 나타내었고 이를 해당 경우 (기울기 > 1: 주황색, 기울기 = 1: 회색, 0 < 기울기 < 1: 청색)에 대한 가시화하였다 (그림 2 참조). #include <iostream> #include <cstdio> #include <stdlib.h> #include <stdio.h> using namespace std; void fnBresenhamLine(int xl, int yl, int xr, int yr) { int x = xl, y = yl, W = abs(xr - xl), H = abs(yr - yl); int F = (2 * H) - W, dF1 = (2 * H), dF2 = 2 * (H - W); printf("[INIT] xl : %d, yl : %d, xr : %d, yr : %d n", xl, yl, xr, yr); printf("[INIT] x : %d, y : %d, W : %d, H : %d, F : %d, dF1 : %d, dF2 : %d n", x, y, W, H, F, dF1, dF2); for (x = xl; x <= xr; x++) { // 0 < m < 1의 경우 // printf("[OUT] x : %d, y : %d, F : %d n", x, y, F); // m > 1의 경우 printf("[OUT] x :%d, y :%d, F :%d n", y, x, F); if (F < 0 ) { F += dF1; } else { y++; F += dF2; } } } int main() { printf("%s n", "[START] fnBresenhamLine"); fnBresenhamLine(2 , 1 , 5 , 8 ); printf("%s n", "[END] fnBresenhamLine"); return 0 ; } 표 1. 조건 (기울기 > 1)에 대한 알고리즘 소스 코드.
  • 3. 제목 2020학년도 1학기 출석수업대체시험 실습과제 작성일 2020-07-17 페이지 3/5 - 3 - 그림 1. 조건 (기울기 > 1)에 따른 선분 알고리즘 실행 결과. 그림 2. 조건 (기울기 > 1: 주황색, 기울기 = 1: 회색, 0 < 기울기 < 1: 청색)에 대한 선분 알고리즘 가시화.
  • 4. 제목 2020학년도 1학기 출석수업대체시험 실습과제 작성일 2020-07-17 페이지 4/5 - 4 - II. 다각형 내/외부 판별 Ÿ 우선 다각형의 내/외부 판별의 경우 주어진 점 (x, y)의 점 포함 여부와 동일하다. Ÿ 즉 점 (x, y)에서 시작하여 우측 수평 방향의 반직선 (half-line)입니다. Ÿ 만약 점이 다각형의 내부에 존재하는 경우 이 반직선은 다각형의 모든 변과 반드시 1회 교차한다 (그림 3 참조). 그림 3. 다각형의 내부에 존재하는 반직선 교차선. Ÿ 한편 점이 다각형의 외부에 존재하는 경우 반직선은 다각형의 변과는 전혀 교차하지 않거나 다각 형의 내부를 2번 교차 통과한다. 즉 반직선 변의 교차 횟수는 0회 또는 2회가 된다 (그림 4 참조). Ÿ 따라서 다각형에 대해서는 반직선 변의 교차 횟수가 1회이면 점을 포함하고 있으며 0번 또는 2번이 면 포함하고 있지 않다고 판단 할 수 있다. 그림 4. 다각형의 외부에 존재하는 반직선 교차선. Ÿ 이러한 판정 조건은 다각형에 대해서도 일반화가 가능하다. 일반 다각형에 대해서는 반직선 변의 교차 횟수가 홀수이면 점을 포함하고 있으며, 짝수이면 포함하고 있지 않다고 판단할 수 있습니다.
  • 5. 제목 2020학년도 1학기 출석수업대체시험 실습과제 작성일 2020-07-17 페이지 5/5 - 5 - III. 참고문헌 1. 위키백과. (2020). “볼록 다각형”, https://ko.wikipedia.org/wiki/%EB%B3%BC%EB%A1%9D_%EB%8B%A4%EA%B0%81%ED%98%95. 2. 티스토리. (2016). “[기하] 다각형의 내부 외부 판별”, https://bowbowbow.tistory.com/24.