그래픽스 기본요소의 속성

Similar documents
<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D325FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B1E2BABBBFE4BCD22E >

Microsoft PowerPoint - lecture19-ch8.ppt

Open GL

컴퓨터그래픽스 기본요소

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372)

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D315FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B0B3B0FC2E >

PowerPoint 프레젠테이션

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

영상 흑백디지털영상 n 이진영상 ( 검정색, 흰색으로구성 ) 과그레이레벨 (Gray-Level) 영상 ( 검정색, 회색, 흰색으로구성 ) 분류 컬러디지털영상 n 색정보를세가지지각변수 ( 색상, 채도, 명도 ) 로인식 n 색상 + 채도 = 색도 (Chromaticity)

Microsoft Word - cg07-midterm.doc

Microsoft PowerPoint - lecture3-ch2.ppt

슬라이드 1

디지털영상처리3

(Microsoft PowerPoint - JXEUOAACMYBW.ppt [\310\243\310\257 \270\360\265\345])

OCW_C언어 기초

Microsoft PowerPoint - lecture17-ch8.ppt [호환 모드]

BT.709 DCI BT [ 1] TTA Journal Vo

Microsoft PowerPoint - lecture15-ch6.ppt

Microsoft PowerPoint - Chapter 9.pptx

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

히스토그램구하기 사전준비 : 히스토그램을저장할메모리가필요함 필요한메모리개수 à 전체영상의픽셀은그값이 0 ~ 255이므로 256 개의메모리필요함 영상을구성하는픽셀의개수는매우크므로메모리형식은 unsigned long으로해야함 ( unsigned 란 +/- 를고려하지않는다는

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드]

chapter2.hwp

설계란 무엇인가?


Microsoft PowerPoint - lecture16-ch6

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

Microsoft Word - cg09-final-answer.doc

04_오픈지엘API.key

스무살, 마음껏날아오르기위해, 일년만꾹참자! 2014학년도대학수학능력시험 9월모의평가 18번두이차정사각행렬 가 를만족시킬때, 옳은것만을 < 보기 > 에서있는대로고른것은? ( 단, 는단위행렬이다.) [4점] < 보기 > ㄱ. ㄴ. ㄷ. 2013학년도대학수학능력시험 16번

(Microsoft PowerPoint - FZBDPQDCSHAN.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint 프레젠테이션

photoshop7-4-Image.hwp

벡터(0.6)-----.hwp

Microsoft PowerPoint - chap04-연산자.pptx

제 2 교시 2019 학년도 3 월고 1 전국연합학력평가문제지수학영역 1 5 지선다형 1. 의값은? [2점] 일차방정식 의해는? [2 점 ] 두수, 의최대공약수는? [2 점 ] 일차함수 의그래프에서

이미지 워핑과 모핑

1

Microsoft PowerPoint - lecture20-ch7.ppt [읽기 전용]

adfasdfasfdasfasfadf

Microsoft Word - cg08-final-answer.doc

슬라이드 1

01

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Slide 1

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

컴퓨터그래픽스 소프트웨어

색의 기초와 응용

Microsoft PowerPoint - Java7.pptx

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - lecture19-ch7.ppt

금오공대 컴퓨터공학전공 강의자료

H3250_Wi-Fi_E.book

PowerPoint Presentation

chap 5: Trees

디지털영상처리3

최종 고등수학 하.hwp

7) 다음의 다음 9) 남학생과 9. zb 여학생 각각 명이 갖고 있는 여름 티 셔츠의 개수를 조사하여 꺾은선그래프로 나타낸 것 이다. 이 두 그래프의 설명으로 옳지 않은 것은? ㄱ. ㄴ. 회째의 수학 점수는 점이다. 수학 점수의 분산은 이다. ㄷ. 영어점수가 수학 점

BMP 파일 처리

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - P01_chapter1.ppt [호환 모드]

슬라이드 1

Sequences with Low Correlation

Microsoft PowerPoint - 07-Data Manipulation.pptx

PowerPoint 프레젠테이션

완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에


7.7) 정의역이 8.8) 연속확률변수 10.10) 원점을 좌표평면에서 인함수 의그래프가그림 과같다. 9.9 ) 함수 의그래프와함수 의 그래프가만나는점을 라할때, 옳은것만을 < 보기 > 에서있는대로고른것은? lim lim 의값은? < 보기 > ㄱ. ㄴ

Ÿ 캔버스의크기와드로잉표면의크기 <canvas> 요소의 width/height 속성사용하여변경하면캔버스크기를드로잉표면의크기로자동변경한다. CSS를사용해서캔버스크기를지정하는경우는드로잉표면의크기는변경할수없기때문에캔버스와드로잉표면의불일치로인하여예기치않은결과를발생시킬수있음에주

2

Microsoft PowerPoint - 06-Body Data Class.pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

제49회 부산과학전람회

PowerPoint Presentation

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

PowerPoint 프레젠테이션

일반각과호도법 l 삼각함수와미분 1. 일반각 시초선 OX 로부터원점 O 를중심으로 만큼회전이동한위치에동경 OP 가있을때, XOP 의크기를나타내는각들을 ( 은정수 ) 로나타내고 OP 의일반각이라한다. 2. 라디안 rad 반지름과같은길이의호에대한중심각의 크기를 라디안이라한

DBPIA-NURIMEDIA

슬라이드 0

함수 좌표평면에서 함수 미적분 Ⅱ 1. 여러가지적분법 삼각함수의부정적분 의도함수가 sin 일때, 의값 은? [3점][2011( 가 ) 10월 / 교육청 4] 지수함수의부정적분 가모든실수에서연속일때, 도함수 가 > 이다. 일때, 의

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - lecture18-ch7.ppt [호환 모드]

Microsoft Word - cg07-final.doc

Microsoft PowerPoint - lecture18-ch7 [호환 모드]

1 1 장. 함수와극한 1.1 함수를표현하는네가지방법 1.2 수학적모형 : 필수함수의목록 1.3 기존함수로부터새로운함수구하기 1.4 접선문제와속도문제 1.5 함수의극한 1.6 극한법칙을이용한극한계산 1.7 극한의엄밀한정의 1.8 연속

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

½½¶óÀ̵å Á¦¸ñ ¾øÀ½

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

단국대학교멀티미디어공학그래픽스프로그래밍중간고사 (2011 년봄학기 ) 2011 년 4 월 26 일학과학번이름 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

<C3D1C1A4B8AE B0E6BFECC0C720BCF B9AE2E687770>

집합 집합 오른쪽 l 3. (1) 집합 X 의각원소에대응하는집합 Y 의원소가단하나만인대응을 라할때, 이대응 를 X 에서 Y 로의라고하고이것을기호로 X Y 와같이나타낸다. (2) 정의역과공역정의역 : X Y 에서집합 X, 공역 : X Y 에서집합 Y (3) 의개수 X Y

Xcrypt 내장형 X211SCI 수신기 KBS World 채널 설정법

Transcription:

Video & Image VIPLProcessing Lab. 2014-1 Myoung-Jin Kim, Ph.D. (webzealer@ssu.ac.kr)

목차 1 색모델 2 색과그레이스케일속성지정 3 점및선속성지정 4 영역채우기속성 5 영역채우기알고리듬 6 안티에일리어싱

색의성질 가시광선 사람의눈으로볼수있는일정주파수범위의전자기파 약 4.0 10 14 Hz부터 7.9 10 14 Hz 범위의영역 저주파 (4.0 10 14 Hz 부근 ) : 빨강 고주파 (7.9 10 14 Hz 부근 ) : 보라 가시영역의모든주파수를포함하는백색광이물체에입사되면일부주파수는흡수되고나머지는반사됨 반사되는빛의색조합에의해물체의색을감지함 교재관련부분 : 100 쪽

색의성질 빛의에너지분포와지배주파수 반사광에너지 E D 지배주파수 광원에너지 E w 빨강 백색광 f 보라 빨강 보라 f 교재관련부분 : 100~101 쪽

색의성질 색의 3 요소 반사광에너지 E D 색조 (hue) : 빛의색을결정하는요소 지배주파수에해당되는색성분 E w 빨강 보라 f 채도 (saturation) : 색이순수한스펙트럼색에얼마나가까운가를나타내는요소 E D E W 가클수록채도가높음 명도 (brightness, luminance) : 빛의전체적인에너지크기에해당되는요소 교재관련부분 : 101 쪽

원색 (primary colors) 삼원자극이론 (tri-stimulus theory) 원추세포 : 사람의시각세포중색을감지하는역할을함 파장이 440nm, 545nm, 580nm 근방의빛에대한흡수율이가장높은세종류가있음 사람이느끼는색은세종류의원추세포에흡수되는빛의양 r, g, b에의해결정됨 두빛에대해감지되는 r, g, b의양이서로같다면색을구성하는주파수성분이다르더라도같은색으로인지될수있음 교재관련부분 : 101 쪽

원색 (primary colors) 색합성을위한원색 컴퓨터모니터나 TV 등의컬러디스플레이에서는빨강 (R), 초록 (G), 파랑 (B) 의세가지파장의빛 (3원색) 을혼합하여색을표현함 색영역 (color gamut) : 선택된원색을혼합하여만들어낼수있는모든색들의집합 색영역이사람의눈으로볼수 있는모든색을포함할수 있을까? 교재관련부분 : 101 쪽

원색 (primary colors) 색정합실험 빨강광원초록광원파랑광원 기준파장광원 크기만큼빨강을더해줌 혼합색 기준색 색 정합 R G B 0.2 0 양 -0.2 0.4 f B fg 400 f R 500 600 700 빛을흡수할수는없음 λ 3 원색을이용해서만들수없음 교재관련부분 : 101~102 쪽

원색 (primary colors) CIE XYZ 색모델 인간의시각특성에맞추어정의된 X, Y, Z라는가상의표준원색 X, Y, Z는각각빨강, 초록, 파랑에가까운색 Y는밝기값이되도록설계 이를혼합하여평균적인인간의눈에보이는모든색을표현할수있음 색정합 C I E 양 1.5 1.0 0.5 f Z f Y f X 0 400 500 600 700 λ 교재관련부분 : 102 쪽

원색 (primary colors) CIE XYZ 색모델 색성분정규화 x = y = z = X X + Y + Z Y X + Y + Z Z X + Y + Z = 1 x y x, y, Y 값만있으면 X, Y, Z 값을모두구할수있음 (x, y) 만으로밝기를제외한색정보를표현할수있음 교재관련부분 : 103 쪽

원색 (primary colors) CIE XYZ 색모델 C 지점 : 태양빛에해당되는백색광 가장자리색 : 스펙트럼색에해당되는순수한색상 평균이 C 지점인두색상은보색관계 스펙트럼색은 C 지점과스펙트럼색을잇는선상의색에대한지배주파수색 0.9 y 0.8 0.6 500 0.4 490 0.2 480 0.0 0.0 520 540 C 560 580 ( ㄱ ) 의보색 600 620 700 380 x 0.2 0.4 0.6 0.8 교재관련부분 : 103~104 쪽

원색 (primary colors) CIE XYZ 색모델 임의의세스펙트럼원색을조합하여모든가시광선의색을만들어낼수없음 이상적인 RGB 광원을활용하더라도 R, G, B를잇는삼각형내의색만을표현할수있음 일반 RGB 컬러모니터로표현할수있는색영역은이보다더좁은영역임 0.9 y 0.8 0.6 500 0.4 490 0.2 480 0.0 0.0 520 B 540 G C 560 580 600 620 700 R 380 x 0.2 0.4 0.6 0.8 교재관련부분 : 103~104 쪽

색모델 RGB 색모델 R( 빨강 ), G( 초록 ), B( 파랑 ) 를삼원색으로하는색모델 가산색모델 : 삼원색의성분이더하여혼합색을만듦 스스로빛을내어색을표현하는출력장치에적합한모델 G (0, 1, 1) (0, 1, 0) (1, 1, 0) 빨강 (R) (1, 1, 1) (0, 0, 1) B (0, 0, 0) (1, 0, 0) R 초록 (G) 파랑 (B) (1, 0, 1) 교재관련부분 : 104~105 쪽

색모델 CMY 색모델 C( 청록 ), M( 자홍 ), Y( 노랑 ) 를삼원색으로하는색모델 감산색모델 : 삼원색의성분을흡수 ( 잉크젯 / 컬러레이저프린터 ) 외부로부터가해진빛을반사하는형태의출력에적용 1 M 청록 (C) Y 1 1 C 자홍 (M) 노랑 (Y) 교재관련부분 : 105~106 쪽

색모델 CMY 색모델 CMY 색모델과 RGB 색모델사이의변환 C M Y 1 = 1-1 R G B R G B 1 = 1-1 C M Y CMYK 색모델 K 성분 : 회색의농도를결정 CMY 모델에비해회색의표현이용이 교재관련부분 : 105~106 쪽

색모델 HSV 색모델 사람이생각하는직관적인개념에보다근접한모델 H(hue, 색조 ), S(saturation, 채도 ), V(value, brightness, 명도 ) G 초록 120 파랑 240 V V=1 빨강 0 B R V=0 H S 교재관련부분 : 107 쪽

색모델 비디오신호와관련된색모델 YIQ : NTSC 방식의아날로그 TV 복합비디오신호용색부호화모델 YUV : PAL 방식의아날로그 TV 복합비디오신호용색부호화모델 YC b C r : 디지털 TV의색모델 Y 성분은밝기, 나머지성분은색표현에사용됨 사람의시각에더욱민감한 Y 성분에더많은정보량을 부여함으로써적은정보량으로효율적인색표현이가능함 교재관련부분 : 108 쪽

목차 1 2 색모델 색과그레이스케일속성지정 3 점및선속성지정 4 영역채우기속성 5 영역채우기알고리듬 6 안티에일리어싱

그래픽스기본요소의속성지정방법 그래픽기본요소함수들에속성파라미터를인수로 포함시키는방법 지정된인수값으로기본요소의속성을결정 현재속성값들에대한목록을가지고있는방법 속성값을설정 / 갱신하는별도의함수를사용하여속성을지정 디스플레이루틴은현재의속성을이용하여기본요소를디스플레이함 OpenGL을포함한많은라이브러리들이이방법을사용 교재관련부분 : 109 쪽

색과그레이스케일 프레임버퍼에색을저장하는방법 1 각픽셀의 RGB 색정보를프레임버퍼에직접저장하는방법 2 색부호를별도의테이블에넣고, 이테이블의색항목을 지정하는인덱스를프레임버퍼에저장하는방법 그레이스케일표현 RGB 성분을모두동일한색으로지정 교재관련부분 : 110~111 쪽

색속성 색깊이 (color depth) 하나의픽셀을표현하는데사용되는비트수 24bits

색속성 OpenGL 에서의색지정 정수자료형 : 0부터그자료형의최대값까지사용 Glubyte : (255, 0, 128) GLint : (0x7fffffff, 0, 0x40000000) 실수자료형 : 0 부터 1 사이의값을사용 Glclampf : (1.0f, 0.0f, 0.5f) GLclampd : (1.0, 0.0, 0.5)

색혼합 알파성분 색의투명도등을표현하기위한목적으로사용할수있는보조데이터 반투명한도형의색이다른도형이나배경등의색과혼합되는효과를내는데활용할수있음 α = 0.7

OpenGL 의색함수 색설정명령 void glcolor*( 색성분 ); 예 R G B glcolor3f(0.0, 1.0, 1.0); glcolor3ub(0, 255, 255); glcolor3s(0, 0x7fff, 0x7fff); glcolor3i(0, 0x7fffffff, 0x7fffffff); 교재관련부분 : 111~112 쪽

OpenGL 의색함수 색혼합 겹쳐진물체, 물체와배경등의색에대한혼합효과를내는 함수 OpenGL 에서의색혼합 프레임메모리에현재저장되어있는색을목적지색이라함 현재의그림위에겹쳐그리는물체의색을프레임버퍼의색과결합 겹쳐그리는물체의색을소스색이라함 교재관련부분 : 112~113 쪽

OpenGL 의색함수 OpenGL 의색혼합 목적지색성분 (R d, G d, B d, A d ) 목적지혼합인수 (D r, D g, D b, D a ) 프레임버퍼 소스색성분 (R s, G s, B s, A s ) 소스혼합인수 (S r, S g, S b, S a ) (S r R s +D r R d, S g G s +D g G d, S b B s +D b B d, S a A s +D a A d ) 교재관련부분 : 112~113 쪽

OpenGL 의색함수 색혼합의활성화 glenable(gl_blend); 색혼합의해제 gldisable(gl_blend); 교재관련부분 : 112~113 쪽

OpenGL 의색함수 색혼합인수의선택 void glblendfunc(glenum sfactor, GLenum dfactor); sfactor, dfactor : 소스및목적지혼합계수 GL_ZERO : (0.0, 0.0, 0.0, 0.0), dfactor의디폴트값임 GL_ONE : (1.0, 1.0, 1.0, 1.0), sfactor의디폴트값임 GL_SRC_ALPHA : 소스의알파값사용 GL_DST_ALPHA : 목적지알파값사용 GL_ONE_MINUS_SRC_ALPHA : (1 - 소스알파값 ) 사용 GL_ONE_MINUS_DST_ALPHA : (1 - 목적지알파값 ) 사용 교재관련부분 : 114 쪽

목차 1 2 3 4 색모델색과그레이스케일속성지정점및선속성지정영역채우기속성 5 영역채우기알고리듬 6 안티에일리어싱

OpenGL 의점속성함수 점의크기 void glpointsize(glfloat size); 예 glpointsize(5.0); glbegin(gl_points); glvertex2i(70, 50); glend(); glpointsize(10.0); glbegin(gl_points); glvertex2i(130, 50); glend(); 교재관련부분 : 114 쪽

OpenGL 의점속성함수 점의안티에일리어싱 glenable(gl_point_smooth); 예 glpointsize(10.0); glbegin(gl_points); glvertex2i(70, 50); glend(); glenable(gl_point_smooth); glbegin(gl_points); glvertex2i(130, 50); glend(); 교재관련부분 : 114 쪽

선속성 선폭속성 기울기크기가 1.0 이하인경우직선경로의위와아래로, 1.0보다큰경우좌우로선의폭만큼픽셀을추가 선의굵기가각각 ( 수직직선또는대각선등 ) 다르다 선의끝모양이일정하다 교재관련부분 : 115 쪽

선속성 선분캡 굵은선분의끝모양을다듬는방법에대한속성 사각캡 butt cap 원형캡 round cap 돌출사각캡 projecting square cap 교재관련부분 : 115~116 쪽

선속성 선분연결 두개의굵은선분의연결부분을다듬는방법에대한속성 연귀연결 miter join 원형연결 round join 사선연결 bevel join 교재관련부분 : 116 쪽

OpenGL 의선속성함수 선폭속성지정 void gllinewidth(glfloat width); 예 gllinewidth(10); glcolor3f(1, 0, 0); glbegin(gl_lines); glvertex2i(50, 40); glvertex2i(150, 40); glvertex2i(50, 60); glvertex2i(150, 160); glend(); 수평및대각선의굵기가다르다 선의끝모양이일정하다 교재관련부분 : 116~117 쪽

OpenGL 의선속성함수 선의안티에일리어싱 glenable(gl_line_smooth); 예 glenable(gl_line_smooth); gllinewidth(10); glcolor3f(1, 0, 0); glbegin(gl_lines); glvertex2i(50, 40); glvertex2i(150, 40); glvertex2i(50, 60); glvertex2i(150, 160); glend(); 교재관련부분 : 116~117 쪽

선속성 선스타일 실선, 파선, 점선등 일정구간의픽셀을그리거나건너뛰는것을반복하여그림 실선파선점선 교재관련부분 : 117 쪽

OpenGL 의선스타일속성함수 OpenGL 의선스타일지정 16 비트의픽셀마스크로지정 픽셀마스크 1111111110000000 0xff80

OpenGL 의선스타일속성함수 OpenGL 의선스타일활성화 glenable(gl_line_stipple); OpenGL 의선스타일해제 gldisable(gl_line_stipple); OpenGL 의선스타일픽셀마스크정의 void gllinestipple(glint factor, GLushort pattern); 반복횟수

OpenGL 의선스타일속성함수 예 glenable(gl_line_smooth); gllinewidth(5.0); glenable(gl_line_stipple); gllinestipple(2, 0xf99f); glbegin(gl_lines); glvertex2i(50, 40); glvertex2i(150, 40); glvertex2i(50, 60); glvertex2i(150, 160); glend(); 1 1 1 1 1 0 011 1 0 0 1 1 1 1 1

OpenGL 의색보간선그리기 색보간선그리기 서로다른색의두끝점색이서서히혼합되며선을그림 음영모델함수를활용 void glshademodel(glenum mode); mode : GL_SMOOTH 또는 GL_FLAT

OpenGL 의색보간선그리기 예 glshademodel(gl_smooth); gllinewidth(10.0); glbegin(gl_lines); glcolor3f(1.0, 0.0, 0.0); glvertex2i(50, 60); glcolor3f(0.0, 0.0, 1.0); glvertex2i(150, 160); glend();

목차 1 2 3 4 색모델색과그레이스케일속성지정점및선속성지정영역채우기속성 5 영역채우기알고리듬 6 안티에일리어싱

영역채우기 채우기속성 균일한색 패턴채우기 영역의정의 다각형경계 불규칙한곡선경계 교재관련부분 : 119~132 쪽

비트맵패턴채우기 타일붙이기 직사각형배열형태의마스크로패턴정의 m x m y 대상영역을모두채울때까지수평및수직방향으로 반복적으로복제 마스크 교재관련부분 : 119 쪽

비트맵패턴채우기 타일붙이기의기준위치 1 윈도원점기준 m y -1 0 0 마스크 m x -1 타일붙이기 x m = (x - x w ) mod m x y m = (y - y w ) mod m y (x w, y w ) = (0,0) 디스플레이윈도 교재관련부분 : 119 쪽

비트맵패턴채우기 타일붙이기의기준위치 1 윈도원점기준 ( 원점을이용했기때문에 ) 경계선의영역을알수없음 ( 도형이움직이더라도 ) 도형안의패턴은변화가없음 (x w, y w ) 디스플레이윈도 교재관련부분 : 119~120 쪽

비트맵패턴채우기 타일붙이기의기준위치 2 도형의경계상자모서리기준 m y -1 0 0 m x -1 타일붙이기 경계상자 x m = (x - x b ) mod m x y m = (y - y b ) mod m y (x b, y b ) 디스플레이윈도 교재관련부분 : 120 쪽

비트맵패턴채우기 타일붙이기의기준위치 2 도형의경계상자모서리기준 (x b1, y b1 ) (x b2, y b2 ) 디스플레이윈도 교재관련부분 : 120 쪽

OpenGL 의채우기속성함수 다각형모드설정 void glpolygonmode(glenum face, GLenum mode); face : 모드를설정할면선택 GL_FRONT : 앞면 GL_BACK : 뒷면 GL_FRONT_AND_BACK : 양면 mode : 다각형그리기방법 GL_POINT : 꼭짓점만그림 GL_LINE : 변만그림 GL_FILL : 다각형내부를채움

OpenGL 의채우기속성함수 비트맵마스크설정 void glpolygonstipple(const GLubyte* mask); mask : 32 32 비트맵마스크 1111 1111 1111 1100 0011 1111 1111 1111 F F F C 3 F F F GLubyte fillpattern[ ] = { 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf0, }; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

OpenGL 의채우기속성함수 비트맵마스크적용예 - [ 소스코드 4-1] void drawbitmappolygon( ) { GLubyte fillpattern[ ] = { }; glclear(gl_color_buffer_bit); glenable(gl_polygon_stipple); glpolygonstipple(fillpattern); glpolygonmode(gl_front, GL_FILL); glbegin(gl_polygon); glend(); glflush(); }

OpenGL 의채우기속성함수 비트맵마스크적용예 - [ 소스코드 4-1] void drawbitmappolygon( ) { glbegin(gl_polygon); glcolor3f(0, 0, 1); glvertex2i(100, 200); glcolor3f(0, 1, 1); glvertex2i(50, 50); glclor3f(0, 1, 0); glvertex2i(350, 50); glcolor3f(1, 0, 0); glvertex2i(250, 250); glend(); glflush(); }

목차 1 2 3 4 5 색모델색과그레이스케일속성지정점및선속성지정영역채우기속성영역채우기알고리듬 6 안티에일리어싱

주사선다각형채우기 홀 - 짝규칙 y y 4 E 1 외부 외부 (2 번교차하는것으로간주 ) E 9 y 3 E 8 E 7 y 2 y 1 E 2 0( 짝 ) 1( 홀 ) E 3 E 6 E 4 3( 홀 ) 2( 짝 ) 4( 짝 ) E 5 내부 외부 (1 번만교차하는것으로간주 ) x 교재관련부분 : 125 쪽

주사선다각형채우기 래스터좌표와픽셀영역 직사각형 (0, 0) - (4, 3) y 4 3=12 픽셀 4 3 3 2 2 1 1 0 0 0 1 2 3 4 5 0 1 2 3 4 5 4=20 픽셀 0 x 3 0 y 2 x 교재관련부분 : 126 쪽

주사선다각형채우기 래스터좌표를고려한주사선다각형채우기 1 변의두정점좌표가 (x 1, y 1 ) 과 (x 2, y 2 ) 이고, y 1 <y 2 인경우점 (x 2, y 2 ) 는선분에포함되지않는것으로한다. 2 x축과평행인선분은다각형채우기과정에서제외한다. 3 y i 번째주사선의채우기과정에서주사선과다각형의 교차횟수가홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 교재관련부분 : 126~127 쪽

주사선다각형채우기 래스터좌표를고려한주사선다각형채우기 y 0( 짝 ) E 1 E 9 E 8 E7 0( 짝 ) 1( 홀 ) 2( 짝 ) E 2 E 4 3( 홀 ) E 6 0( 짝 ) E 3 2( 짝 ) E 5 4( 짝 ) x 교재관련부분 : 127 쪽

주사선다각형채우기 다각형선분테이블 버켓과선분리스트로구성됨 버켓 : 주사선수만큼의버켓항목이존재하며, 각항목에는해당주사선에서시작하는선분리스트가연결됨 선분리스트 : 각선분에대한정보가저장됨 선분의양끝점이 (x 1, y 1 ), (x 2, y 2 ) 이고 y 1 < y 2 인경우 x min y max Δx ptr x min : y좌표값이작은끝점의 x 좌표 ( 즉, x 1 ) y max : 나머지끝점의 y좌표 ( 즉, y 2 ) Δx : 기울기역수 ptr : 다음선분항목을가리키는포인터 교재관련부분 : 127~129 쪽

주사선다각형채우기 다각형선분테이블 다각형의변을구성하는선분들을저장 수평선분은제외 주사선에서시작하는선분들의리스트 버켓 9 8 7 3 2 1 0 주사선번호 6 14-1/3 6 12 3/4 12 12-3/4 선분 fa 선분 ef 선분 de x min y max Δx 2 14 1/6 선분 ab 13 8-1/6 선분 cd 주사선번호 14 12 10 8 6 4 2 b a f e d 2 4 6 8 101214 교재관련부분 : 127~129 쪽 c

주사선다각형채우기 활동선분목록 현재처리되는주사선과교차하는선분의리스트 선분항목의정보 x y max Δx ptr x : 선분과주사선의교점 x좌표 y max : 나머지끝점의 y좌표 ( 즉, y 2 ) Δx : 기울기역수 ptr : 다음선분항목을가리키는포인터 선분항목들은 x좌표의순서에따라정렬된상태를유지 현주사선의선분테이블버켓에연결된선분들은활동선분목록에추가하고, 현주사선이 y max 인항목은제거 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 7 3 2 1 0 14 12 10 8 6 4 2 2 14 1/6 13 8-1/6 선분 ab 선분 cd a e d f b c 2 4 6 8 101214 2 번주사선에서의활동선분목록 2 14 1/6 13 8-1/6 3 번주사선에서의활동선분목록 2 1 6 x 14 1/6 12 5 6 8-1/6 y max Δx 홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 2 x 12 범위의픽셀 3 x 12 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 7 3 2 1 0 14 12 10 8 6 4 2 2 14 1/6 13 8-1/6 선분 ab 선분 cd a e d f b c 2 4 6 8 101214 3 번주사선에서의활동선분목록 2 1 6 홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 14 1/6 8-1/6 3 x 12 범위의픽셀 12 5 6 4 번주사선에서의활동선분목록 2 2 6 14 1/6 8-1/6 12 4 6 3 x 12 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 7 3 2 1 0 14 12 10 8 6 4 2 2 14 1/6 13 8-1/6 선분 ab 선분 cd a e d f b c 2 4 6 8 101214 4 번주사선에서의활동선분목록 2 2 6 홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 14 1/6 8-1/6 3 x 12 범위의픽셀 12 4 6 5 번주사선에서의활동선분목록 2 3 6 14 1/6 8-1/6 12 3 6 3 x 12 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 7 3 2 1 0 14 12 10 8 6 4 2 2 14 1/6 13 8-1/6 선분 ab 선분 cd a e d f b c 2 4 6 8 101214 5 번주사선에서의활동선분목록 2 3 6 14 1/6 8-1/6 12 3 6 6 번주사선에서의활동선분목록 2 4 6 14 1/6 8-1/6 12 2 6 홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 3 x 12 범위의픽셀 3 x 12 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 7 3 2 1 0 14 12 10 8 6 4 2 2 14 1/6 13 8-1/6 선분 ab 선분 cd a e d f b c 2 4 6 8 101214 6 번주사선에서의활동선분목록 2 4 6 홀수인구간의 x 좌표범위가 x a 부터 x b 까지라면 x a 부터 x b -1 까지의픽셀들을내부픽셀로한다. 14 1/6 8-1/6 3 x 12 범위의픽셀 12 2 6 7 번주사선에서의활동선분목록 2 5 6 14 1/6 8-1/6 12 1 6 3 x 12 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 9 8 2 5 6 6 14-1/3 6 12 3/44 12 12-3/4 선분 fa 선분 ef 2 b 선분 de c 7 번주사선에서의활동선분목록 14 1/6 8-1/6 3 x 12 범위의픽셀 12 1 6 8 번주사선에서의활동선분목록 14 12 10 8 6 현주사선이 y max 인항목은제거 3 14 1/6 6 14-1/3 6 12 3/4 a f e d 2 4 6 8 101214 12 12-3/4 3 x 5, 6 x 11 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 9 8 14 12 10 8 6 6 14-1/3 6 12 3/44 12 12-3/4 선분 fa 선분 ef 2 b 선분 de c a f e d 8 번주사선에서의활동선분목록 2 4 6 8 101214 3 14 1/6 6 14-1/3 6 12 3/4 12 12-3/4 3 x 5, 6 x 11 범위의픽셀 9 번주사선에서의활동선분목록 3 1 6 14 1/6 14-1/3 5 2 3 6 3 4 12 3/4 11 1 4 12-3/4 4 x 5, 7 x 11 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 9 8 14 12 10 8 6 6 14-1/3 6 12 3/44 12 12-3/4 선분 fa 선분 ef 2 b 선분 de c a f e d 9 번주사선에서의활동선분목록 2 4 6 8 101214 3 1 6 14 1/6 14-1/3 12 3/4 5 2 3 6 3 4 11 1 4 12-3/4 4 x 5, 7 x 11 범위의픽셀 10 번주사선에서의활동선분목록 3 2 6 14 1/6 14-1/3 5 1 3 7 2 4 12 3/4 10 2 4 12-3/4 4 x 5, 8 x 10 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 9 8 14 12 10 8 6 6 14-1/3 6 12 3/44 12 12-3/4 선분 fa 선분 ef 2 b 선분 de c a f e d 10 번주사선에서의활동선분목록 2 4 6 8 101214 3 2 6 14 1/6 14-1/3 12 3/4 5 1 3 7 2 4 10 2 4 12-3/4 4 x 5, 8 x 10 범위의픽셀 11 번주사선에서의활동선분목록 3 3 6 14 1/6 5 14-1/3 12 3/4 8 1 4 9 3 4 12-3/4 4 x 4, 9 x 9 범위의픽셀 교재관련부분 : 127~129 쪽

주사선다각형채우기 활동선분목록 버켓 9 8 14 12 10 8 6 6 14-1/3 6 12 3/44 12 12-3/4 선분 fa 선분 ef 2 b 선분 de c a f e d 11 번주사선에서의활동선분목록 2 4 6 8 101214 3 3 6 14 1/6 5 14-1/3 12 3/4 8 1 4 10 2 4 12-3/4 4 x 4, 9 x 9 범위의픽셀 12 번주사선에서의활동선분목록 3 4 6 14 1/6 14-1/3 4 2 3 4 x 4 범위의픽셀 교재관련부분 : 127~129 쪽

불규칙한경계로정의되는영역채우기 시작점 빨강경계내부영역채우기 백색영역채우기 경계선채우기 범람채우기 교재관련부분 : 130 쪽

경계선채우기알고리듬 이웃의정의 4 방향연결 8 방향연결 a a 교재관련부분 : 130~131 쪽

경계선채우기알고리듬 경계선이 4 방향연결로정의된경우의채우기 b 와같이일부영역이채원지지않음 a b 4 방향에서는연결되지않음 a 와 b 를연결하려면 8 방향연결을적용해야한다. 교재관련부분 : 131 쪽

경계선채우기알고리듬 경계선이 8 방향연결로정의된경우의채우기 d와같이외부영역이채원질수있음 d c 4 방향연결을적용해야한다. 교재관련부분 : 131 쪽

경계선채우기알고리듬 // x, y : 픽셀좌표, fcol : 채우기색, bcol : 경계선색 void boundaryfill4(int x, int y, int fcol, int bcol) { { int intcol; getpixel(x, y, intcol); // (x, y) 위치의픽셀색을읽음 // 경계선색이나채우기색이아닌경우 if (intcol!= bcol && intcol!= fcol) { setpixel(x, y); // 현재위치를채우기색으로그림 // 4방향연결성에따라이웃픽셀에경계선채우기를적용 boundaryfill4(x+1, y, fcol, bcol); 왼쪽채우기 boundaryfill4(x-1, y, fcol, bcol); 오른쪽채우기 boundaryfill4(x, y+1, fcol, bcol); 위쪽채우기 boundaryfill4(x, y-1, fcol, bcol); 아래쪽채우기 } } 교재관련부분 : 132 쪽

범람채우기알고리듬 동일색영역을지정된채우기속성에따라채움 채우고자하는영역 교재관련부분 : 132 쪽

범람채우기알고리듬 //x, y : 픽셀좌표, fcol : 채우기색, intcol : 내부색 void floodfill4(int x, int y, int fcol, int intcol) { { int currcol; getpixel(x, y, currcol); // (x, y) 위치의픽셀색을읽음 // 현위치의색이영역내부색인경우 if (currcol == intcol) { setpixel(x, y); // 현재위치를채우기색으로그림 // 4방향연결성에따라이웃픽셀에경계선채우기를적용 floodfill4(x+1, y, fcol, intcol); 왼쪽채우기 floodfill4(x-1, y, fcol, intcol); 오른쪽채우기 floodfill4(x, y+1, fcol, intcol); 위쪽채우기 floodfill4(x, y-1, fcol, intcol); 아래쪽채우기 } } 교재관련부분 : 132 쪽

목차 1 2 3 4 5 6 색모델색과그레이스케일속성지정점및선속성지정영역채우기속성영역채우기알고리듬안티에일리어싱

에일리어싱 낮은해상도로인한정보왜곡 교재관련부분 : 133 쪽

에일리어싱 낮은해상도로인한정보왜곡 교재관련부분 : 133 쪽

에일리어싱 낮은해상도로인한정보왜곡 352x288 176x144 88x72 44x36 교재관련부분 : 134~134 쪽

안티에일리어싱 전필터링 (prefiltering) 물체가차지하는픽셀면적을기준으로픽셀의밝기를 조절하는방법 영역샘플링 (area sampling) 이라고도함 y k +0.5 y = m(x k - 0.5) + b y k y k -0.5 x k -0.5 픽셀 (x k, y k ) a 색 b 색 x k x k +0.5 y = m(x k + 0.5) + b Area = mx k + b - y k + 0.5 a와 b의면적비율로색을결정해서채운다 교재관련부분 : 134~135 쪽

안티에일리어싱 슈퍼샘플링 (supersampling) 하나의픽셀을여러개의작은픽셀로분할 물체영역이차지하는서브픽셀의수에따라픽셀색결정 22 22 0 0 4/9 21 21 1/9 6/9 5/9 20 10 11 12 7/9 3/9 20 10 11 12 0 교재관련부분 : 135~136 쪽

안티에일리어싱 후필터링 (postfiltering) 이웃샘플들의가중치평균으로픽셀값을결정 교재관련부분 : 136 쪽

안티에일리어싱 후필터링 (postfiltering) 이웃샘플들의가중치평균으로픽셀값을결정 1 16 1 2 1 2 4 2 1 2 1 교재관련부분 : 136 쪽

OpenGL 의안티에일리어싱함수 색혼합활성화 glenable(gl_blend); glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); 안티에일리어싱활성화 void glenable(glenum aaprimitive); aaprimitive : 안티에일리어싱을적용할그래픽스기본요소의유형 GL_POINT_SMOOTH GL_LINE_SMOOTH GL_POLYGON_SMOOTH 교재관련부분 : 137 쪽

OpenGL 의안티에일리어싱함수 안티에일리어싱적용예 : [ 소스코드 4-2] void drawpolygonantialias(void) { glclear(gl_color_buffer_bit); // 윈도우색으로지움 } glenable(gl_blend); // 색혼합활성화 glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA); glenable(gl_line_smooth); // 선안티에일리어싱활성화 glenable(gl_point_smooth); // 점안티에일리어싱활성화 glcolor3f(0.5, 0.5, 1.0); // 그리기색상지정 교재관련부분 : 137~138 쪽

OpenGL 의안티에일리어싱함수 안티에일리어싱적용예 : [ 소스코드 4-2] void drawpolygonantialias(void) { gllinewidth(10); // 선폭지정 glpolygonmode(gl_front, GL_LINE); // 다각형의변을그림 glbegin(gl_polygon); // 다각형그리기 glvertex2i(100, 200); glvertex2i(50, 50); glvertex2i(350, 50); glvertex2i(250, 250); glend(); } 교재관련부분 : 137~138 쪽

OpenGL 의안티에일리어싱함수 안티에일리어싱적용예 : [ 소스코드 4-2] void drawpolygonantialias(void) { glpointsize(10); // 점크기지정 glpolygonmode(gl_front, GL_POINT); glbegin(gl_polygon); // 변의연결에원형연결적용 glvertex2i(100, 200); glvertex2i(50, 50); glvertex2i(350, 50); glvertex2i(250, 250); glend(); } 교재관련부분 : 137~138 쪽

정리하기 1 색의 3 요소 : 색조 (hue), 채도 (saturation), 명도 (brightness) 2 R, G, B 삼원색을혼합하여표현할수있는색영역은사람의가시색의일부만을포함한다. 3 RGB 색모델은빨강, 초록, 파랑을삼원색으로하는가산색모델이고, CMY 색모델은청록, 자홍, 노랑을삼원색으로하는 감산색모델이다. HSV 색모델은색조채도, 명도로색을표현 한다. 4 많은그래픽스패키지들은현재속성값들의목록을보관하고, 이를갱신할수있는함수를제공한다. 그래픽스기본요소를 그릴때는이속성목록의현재값을적용한다.

정리하기 5 비트맵패턴의채우기는정해진크기의마스크를반복적으로이어붙이는타일붙이기형식으로처리된다. 6 주사선다각형채우기 각각의주사선단위로홀 - 짝규칙을적용한다. 주사선이꼭짓점을만나는경우의처리를위해각변에서 y 축좌표의값이큰꼭짓점좌표는제외한다. 또한수평선분 은처리에서제외한다. 7 경계선채우기알고리듬은정해진색으로되어있는경계로둘러싸인영역내부를지정된색으로채운다. 8 범람채우기알고리듬은동일한색으로되어있는영역을지정된색으로채운다.

정리하기 9 에일리어싱은낮은해상도로인한정보왜곡이다. 래스터그래픽스시스템에서선분이나영역경계가계단형으로출력되는 현상이나타난다. 10 안티에일리어싱은에일리어싱현상을완화하기위한기술로서, 전필터링, 슈퍼샘플링, 후필터링등이있다.