Microsoft Word - cg07-final.doc

Similar documents
Microsoft Word - cg07-midterm.doc

Microsoft Word - cg08-final-answer.doc

Microsoft Word - cg09-final-answer.doc

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

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

Microsoft PowerPoint - lecture11-ch4.ppt

Microsoft PowerPoint - lecture11-ch4

PowerPoint 프레젠테이션

Microsoft Word - cg09-midterm.doc

Microsoft PowerPoint - lecture15-ch6.ppt

Microsoft PowerPoint - lecture16-ch6

Microsoft Word - cg12-midterm-answer

PowerPoint 프레젠테이션

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

Microsoft PowerPoint - lecture19-ch8.ppt

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

Microsoft PowerPoint - 13prac.pptx

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

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

Microsoft PowerPoint - lecture17-ch8.ppt

Microsoft PowerPoint - lecture19-ch7.ppt

Open GL

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

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

歯Lecture2.PDF

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

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

Microsoft PowerPoint - lecture18-ch8

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

Microsoft Word - java19-1-midterm-answer.doc


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

Microsoft Word - cg09-midterm-answer.doc

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

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D325FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B1E2BABBBFE4BCD22E >

Microsoft PowerPoint D View Class.pptx

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

Microsoft PowerPoint - Lect17-FromGeoToPixels-1.pptx

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드]

Microsoft PowerPoint - chap02.ppt

Microsoft PowerPoint - lecture17-ch8

Microsoft PowerPoint - lecture11-ch5.ppt [호환 모드]

슬라이드 1

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

04_오픈지엘API.key

Microsoft Word - cg11-midterm-answer.doc

Microsoft PowerPoint - GameDesign6-Graphics.ppt [호환 모드]

Microsoft PowerPoint - lecture4-ch2.ppt

Microsoft PowerPoint - Java7.pptx

서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12

untitled

중간고사

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/7) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답 안지 공간이 부족할 경우, 답안지 뒷면에 기술 하고, 해당

Backlight Unit의 광학적 특성 해석 및 Prism Sheet의 최적화 설계

Microsoft PowerPoint - NV40_Korea_KR_2.ppt

4.1 힘의모멘트 스칼라공식 4.1 힘의모멘트 스칼라공식 모멘트크기 (resultant moment) 2

윈도우즈프로그래밍(1)

중간고사

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA>

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

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

PowerPoint 프레젠테이션

Microsoft PowerPoint - lecture16-ch8 [호환 모드]

기본도형과작도 1 강 - 연습문제 1. 오른쪽그림과같이직선l 위에점,, 가있을때, 옳지않은것은? 1 = 2 = 3 = 직선l 4 = 5 = l 2. 오른쪽그림에서 = = 이다. 다음( ) 안에알맞은수를쓰시오. 1 =( 2 =( 3 =( 4 =( ) ) ) ) 3. 한평

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/8) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (1/9) [CSE4170: 기초컴퓨터그래픽스 ] 기말고사 담당교수 : 임인성 답은연습지가아니라답안지에기술할것. 답안지공간이부족할경우, 답안지뒷면에기술하고, 해당답안지칸에그사실을명기할것. 연습지는수거하

<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

도형의닮음 1 강 - 닮은도형과닮음중심 사이버스쿨우프선생 닮음도형 : 일정한비율로확대또는축소하였을때닮음모양의도형 기호 : ABCD A'B'C'D' [ 예제 1 ] 그림에서와같이두닮은도형 ABCD 와 A'B'C'D' 에서대응점, 대


Microsoft PowerPoint - 06-Body Data Class.pptx

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

미분기하학 II-16 복소평면의선형분수변환과쌍곡평면의등장사상 김영욱 (ÑñÁ) 강의양성덕 (zû ) 의강의록 Ø 'x! xxñ 2007 년 김영욱 (ÑñÁ) 강의양성덕 (zû ) 의강의록 (Ø 'x!) 미분기하 II 2007 년 1 / 26

(001~031)15초등개뿔1-1_교부.ps

Microsoft PowerPoint - GameProgramming23-PixelShader.ppt

Microsoft PowerPoint - 04-Model Class.pptx

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

63-69±è´ë¿µ

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint cg01.ppt

0503중간고사.dvi

OpenGL 프로그래밍 가이드 : OpenGL 1.2 공식 학습 가이드 제3판

PowerPoint 프레젠테이션

서강대학교공과대학컴퓨터공학과 CSE4170 기초컴퓨터그래픽스기말고사 (2/8) 다음과같이설정되어있는데, cam.pos[0] = 0.0, cam.pos[1] = 0.0, cam.pos[2] = 500.0; 이때의 cam.naxis[] 벡터의세원소값을기술하라. Figure

컴퓨터그래픽스 기본요소

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

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

Microsoft PowerPoint - lecture11-ch5.ppt [호환 모드]

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

초판 1쇄 발행 2013년 10월 25일 지은이 박승제 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제 호 주소 경기도 파주시 문발동 파주출판도시 뮤즈빌딩 403호 전화 / 팩스

< D312D3420BBEFB0A2C7FCC0C720BFDCBDC9B0FA20B3BBBDC E485750>

untitled


<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint Presentation

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

<4D F736F F F696E74202D203428B8E9C0FB20B9D720C3BCC0FBC0FBBAD0292E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Transcription:

기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 성적공고시중간고사때제출한암호를사용할것임. 1. 맞으면 true, 틀리면 false를적으시오. (20점) 1) 은면제거알고리즘중페인터알고리즘 (painter s algorithm) 은이미지공간 (imagespace) 기법이기보다는객체공간 (object-space) 기법이다. 2) DDA (Digital Differential Analyzer) 알고리즘은직선을픽셀로변환하는알고리즘이며부동소수곱셈연산을필요로한다. 3) 임의의복잡한다각형 (polygon) 을단순한다각형 ( 예를들어, 삼각형 ) 으로나누는작업을분할 (tessellation) 이라고한다. _ 4) 중간각벡터 (half-way vector) 는정반사 (specular reflection) 에의한음영계산을빨리해주기위해서사용된다. _ 5) 난반사 (diffuse reflection) 에서입사각 ( 광원벡터와표면의법선벡터사이각 ) 이직각을이룰때표면에빛이가장밝게나타난다. 6) 알파블렌딩 (alpha blending) 사용시불투명과투명을같이그릴때투명을먼저그리고불투명을나중에그린다. 7) Sutherland-Hodgeman 알고리즘은 4비트와 6비트외곽부호 (outcode) 를사용하여 2차원, 3차원클리핑 (clipping) 하는알고리즘이다. _ 8) 투영정규화 (projection normalization) 은객체들을사전왜곡시켜모든투영을직교투영으로변환시킨다. 9) 라디오시티 (radiosity) 와광선추적 (ray tracing) 은직접조명모델 (direct illumination model) 이다. _ 10) 기하학적도형을프레임버퍼안의픽셀의색, 위치로변환시키는것을래스터화 (rasterization) 라고한다. _ 2. 다음문제에답하시오. (50점) 1) 물체를표현하는데있어가장기본이되는요소인기하요소 (geometry primitives) 를 3 가지이상적으시오. 1/9

2) 3개의기본적인기하학적객체의변환 (geometric transformation) 을서술하고, OpenGL 변환함수를적으시오. 3) 다음그림은고전적관측들을보여주고있다. 평행관측 (parallel viewing) 에속하는것에모두동그라미표시하시오. 4) 깊이버퍼알고리즘 (Depth-buffer algorithm) 의작동원리에대하여설명하시오. 2/9

5) 다음은직접조명모델 (Direct illumination model) 을보여주고있다. 이공식에서환경광 (ambient light), 난반사광 (diffuse light), 정반사광 (specular light), 방출광 (emissive light) 이어느것인지표시하라. 그리고이공식에서 α 계수가무엇을의미하는지도설명하라. I { K I ( N L) + K I ( R V } E m = K a I a + 1 d d s s ) + 2 a + bd + cd i= 0 1 α 6) 플랫세이딩 (Flat shading), 구로우세이딩 (Gouraud shading), 퐁세이딩 (Phong shading) 을각각설명하고장단점을비교하여라. 7) 현재프레임버퍼에있는픽셀값 RGB (0.2, 0.2, 0.2) 위에그리고자하는물체의픽셀값 RGBA (0.7, 0.5, 0.0, 0.5) 을가장보편적블렌딩함수인 glblendfunc(gl_src_alpha, GL_ONE_MINUS_SRC_ALPHA) 를사용할때아래의블렌딩공식을사용한다. 알파블렌딩 (alpha blending) 되어화면에출력되는 RGB 색을계산하시오. R = As * Rs + (1 As) * Rd G = As * Gs + (1 As) * Gd B = As * Bs + (1 As) * Bd 3/9

8) OpenGL 함수 gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, mode) 는텍스쳐와음영간의상호작용을지정할수있게한다. GL_TEXTURE_ENV_MODE는 GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE 를지원하는데, 각모드를사용했을때텍스쳐값이어떻게나타나는지설명하시오. ( 아래의모드에따른텍스쳐함수테이블을참고하시오 ) Base internal Texture functions GL_MODULATE GL_DECAL GL_BLEND GL_REPLACE GL_LUMINANCE C v =L t C f undefined Cv=(1 - L t )C f + L t C c C v =L t GL_RGB C v =C t C f C v =C t C v =(1 - C t )C f + C t C c C v =C t GL_MODULATE: GL_DECAL: GL_BLEND: GL_REPLACE: 9) 다각형내부의판단규칙중홀짝규칙 (even-odd rule) 은주사선별로경계가홀수번째교차하면내부, 짝수번째교차하면외부가시작된다고판단한다. 아래그림의다각형에주사선위에홀짝숫자를적어넣어다각형의내부와외부를표시하시오. 4/9

10) 반지름이 1 인구체 (sphere) 의 parametric form 은 π π x = cosφ sinθ, φ, π θ π 2 2 π π y = cosφ cosθ, φ, π θ π 2 2 π π z = sinφ, φ 2 2 로표현된다. 이구체표면의법선벡터 (normal vector) 를구하라. 3. 다음은아래의 opengl.jpg 이미지를사용하여 GL_REPEAT을사용한텍스쳐맵핑프로그램을보여주고있다. 빈칸을채워라. (10점) glbegin(gl_quads); gltexcoord2f(, ); glvertex3f(-1.0, -1.0, 0.0); gltexcoord2f(, ); glvertex3f(1.0, -1.0, 0.0); gltexcoord2f(, ); glvertex3f(1.0, 1.0, 0.0); gltexcoord2f(, ); glvertex3f(-1.0, 1.0, 0.0); 5/9

4. 아래의 drawobjects() 함수를설명하고, display() 함수에서 glortho 직교투영 (orthographic projection) 을사용할때와 gluperspective 원근투영 (perspective projection) 사용할때의차이를설명하시오. (10점) void drawobjects() { gltranslatef(-2.0, 0.0, 0.0); glcolor3f(1.0, 0.0, 0.0); gltranslatef(-1.0, 0.0, -1.0); glcolor3f(0.0, 1.0, 0.0); gltranslatef(0.0, 0.0, -2.0); glcolor3f(0.0, 0.0, 1.0); gltranslatef(1.0, 0.0, -3.0); glcolor3f(1.0, 1.0, 0.0); gltranslatef(2.0, 0.0, -4.0); glcolor3f(1.0, 0.0, 1.0); } void display() { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glloadidentity(); glmatrixmode(gl_projection); glloadidentity(); if (ortho) glortho(-10, 10, -10, 10, -10, 10); // 직교투영 else gluperspective(60.0, 1.0, 0.1, 100.0); // 원근투영 6/9

glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(0.0, 0.0, -viewdistance); glrotatef(viewrotx, 1.0, 0.0, 0.0); glrotatef(viewroty, 0.0, 1.0, 0.0); } drawobjects(); glutswapbuffers(); 5. Bresenham 알고리즘을이용해서점 (3,7) 부터점 (12, 15) 까지선을그리고자한다. 아래의조건을이용해서 ( 혹은조건을수정해서 ) 각단계별로결정변수 D k 를구하고점 (vertex) 이그려져야하는 x, y좌표의값을구하라. 표에값이전부채워지지않을수도있으며모자라는경우에는행을추가해서숫자를넣도록한다. (10점) Initialization D 0 = 2Δy Δx Stepwise process If D k < 0, D k +1 = D k + 2Δy Otherwise, D k +1 = D k + 2Δy - 2Δx, y++ D k x y D 0 = 7 3 7 7/9

6. 다음은수업시간에배운 Simple Solar System 예제를보여주고있다. display() 함수의빈칸으로남아있는회전 (rotate) 과이동 (translate) 변환을완성하라. 태양 (sun) 은자전 (spin) 하고있고, 지구 (earth) 는자전 (spin) 하고있으면서태양주위를공전 (revolve) 하고있다. 또한, 달 (moon) 은자전 (spin) 하고있으면서지구주위를공전 (revolve) 하고있는모습이다. ( 보너스문제 extra 10점 ) float g_sunradius = 5.0f; float g_earthradius = 1.0f; float g_moonradius = 0.5f; float g_earthdistancefromsun = -12.0f; float g_moondistancefromearth = -2.0f; void display( void ) { glclear( GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT ); glmatrixmode( GL_MODELVIEW ); glloadidentity(); glulookat( 0.0, 2.0, 25.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 ); static float SunSpin = 0.0f; static float EarthSpin = 0.0f; static float EarthOrbit = 0.0f; static float MoonSpin = 0.0f; static float MoonOrbit = 0.0f; if( g_orbiton == true ) { SunSpin -= g_speed * (g_elpasedtime * 10.0f); // sun rotate } EarthSpin -= g_speed * (g_elpasedtime * 100.0f); EarthOrbit -= g_speed * (g_elpasedtime * 20.0f); // earth rotate // earth revolve MoonSpin -= g_speed *(g_elpasedtime* 50.0f); // moon rotate MoonOrbit -= g_speed * (g_elpasedtime * 200.0f); // moon revolve // The Sun (spins by rotating it about y-axis) 8/9

glutsolidsphere( g_sunradius, 24, 24 ); // The Earth spins on its own axis and orbit the Sun. glutsolidsphere( g_earthradius, 24, 24 ); // The Moon spins on its own axis and orbit the Earth. } glutsolidsphere( g_moonradius, 24, 24 ); glutswapbuffers(); 7. 수업시간에배운내용중가장재미있었던부분 ( 또는본인이좀더자세히배우고싶은내용이있으면 ) 을적으시오. (0점) 9/9