중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호를기입하면성적공고시학번대신암호를사용할것임.. 맞으면 true, 틀리면 false를적으시오. 점 OpenGL 디스플레이리스트 Displa List 는 glflush 를포함하여모든 OpenGL 함수를쓸수있다. F OpenGL/GLUT 프로그램은반드시 glutdisplafunc 답신함수 Callback Function 를정의해야한다. T 3 glutstrokecharacter 함수는문자를선으로그리는방식이므로, OpenGL의변환에의해영향을받지않는다. F 4 프레임버퍼의깊이는시스템이얼마나많은색을한픽셀에서표현할수있는지를결정한다. T 부드러운애니메이션을생성하기위해깊이버퍼가필요하다. F. OpenGL/GLUT 프로그램의이벤트답신함수를적어라. 점 예 : ASCII 키가눌렸을때호출하는이벤트답신함수는 glutkeboardfunc 에등록한다. 특수키가눌렸을때호출하는이벤트답신함수는 glutspecialfunc 마우스버튼이눌렸을때호출하는이벤트답신함수는 glutmousefunc 3 마우스가움직일때호출하는이벤트답신함수는 glutmotionfunc 4 이벤트가없을때호출하는이벤트답신함수는 glutidlefunc 윈도우크기가변했을때호출하는이벤트답신함수는 gluteshapefunc 3. 다음문제에답하시오. 3 점 컴퓨터그래픽에서사용하는 3 차원객체 3D object 는무엇인지설명하라. 점 3 차원공간내의정점들의집합이다. 표면 surface 에의해기술되고속이비어있다 hollow 표면은볼록다각형 conve polgon 으로구성되어있다. 임의의다각형 arbitrar polgons 은삼각다각형 triangular polgons 으로분할 tessellate 하여그려야한다. /7
컴퓨터그래픽에서화면에도시되는객체는볼록성 Conveit 을가져야한다. 볼록성이무엇인지간단히설명하라. 점 컴퓨터그래픽에서볼록성 Conveit 란객체내의임의의두점을연결하는선분위에놓인임의의점이모두객체내에있어야한다는것으로, 컴퓨터그래픽에서볼록성을갖지않는객체는삼각다각형으로분할 Tessellation 해서사용한다. 3 벡터공간 Vector Space 와아핀공간 Affine Space 를간단히설명하고, 특징을서술하라. 벡터공간과아핀공간을그림으로그려서차이를보여라. 점 벡터공간은실수 즉 scalar 와벡터 vector 를가지고있다. 벡터는공간내에고정된위치를가지고있지않으며크기와방향성을갖는다. 아핀공간은벡터공간에점 point 이추가된다. 아핀공간에는거리는없으나한직선위에있다는개념은있으며거리의비가보존된다. 4 동차좌표 Homogeneous Coordinates 는무엇인가, 그리고컴퓨터그래픽에서동차좌표를사용하는이유는? 점 동차좌표란 차원의점, 의경우의동차좌표로는,, w 로표현한다. 따라서동차좌표에서,,3 과,4,6 은같은동차좌표표현이다. 3 차원점,, z 은동차좌표로,, z, 로표현하고, 벡터,, z 는동차좌표로는,, z, 으로표현한다. 컴퓨터그래픽에서동차좌표를사용하는이유는, 그래픽렌더링파이프라인에서각종좌표계 예 : 모델좌표계, 세계좌표계, 카메라좌표계, 투영변환, 등 변환을수행해야하는데, 동차좌표를사용한다면 3 차원점과벡터를 4 차원열행렬로나타낼수있고주어진프레임에서점과벡터의표현을변환하는단일함수로변환을정의할수있다. 이동 translation, 회전 rotation, 크기변환 scaling 등그래픽스에서필요로하는대부분의변환은아핀변환이다. 컴퓨터그래픽영상의생성에서필요한 3 가지요소인객체, 관측자, 광원을설명하라. 그리고합성카메라모델 Snthetic-Camera Model 을설명하라. 점 Object 객체 는영상생성과정이나관측자와관계없이공간에존재 Viewer 관측자 는물체의영상을형성하는존재. 즉, 컴퓨터그래픽에서카메라. Light 광원 은객체와관측자가있다하더라도광원이없다면객체는어두워서영상에나타나지않는다. Snthetic-Camera Model 합성카메라모델 은 Image Plane 영상면 이 Center of Projection보다앞에있다. 인간시각시스템이나핀홀카메라모델이영상면이카메라후면에있어서영상면에전후좌우가뒤바뀌어이미지가생기는것과는달리영상이그대로투영되는모델이다. /7
6 컴퓨터그래픽기하파이프라인 geometric pipeline 에서응용프로그램의정점들 vertices 을정점처리 Verte Processor 한후클리핑 Clipping 과기본요소로조립 Primitive Assembl 하여래스터화 asterization 하고픽셀처리 Piel Processor 한후프레임버퍼로나오는과정을수행한다. 이때기본요소 Primitive 란무엇을의미하는가? 기본요소조립은왜필요한지설명하라. 점 기본요소 Primitive 란그래픽을그리는최소단위인선분 Line segments, 다각형 Polgons, 곡선곡면 Curves and surfaces 등을말한다. 기본요소조립과정이필요한이유는카메라가찍을수있는시야각영역내부만보이게처리하는과정, 즉클리핑 Clipping, 이정점 Verte 의단위로이루어지기보다는기본요소 Primitive 단위로이루어지고있기때문에기본요소단위로조립을한후에클리핑을수행하여야한다. 4. 다음 OpenGL 코드는원의공식을이용한도형그리기에서 GL_LINE_LOOP, GL_TIANGLE_FAN, GL_TIANGLES, GL_QUADS 차이를보여준다. 결과를오른쪽네모칸안에그리시오. 점 glbegingl_line_loop; glbegingl_tiangle_fan; glbegingl_tiangles; 3/7
. 다음 OpenGL 코드는 HW 에서 pos[], pos[] 을중심으로한도형그리기이다. 최종결과를아래네모칸안에그리시오. 점 glvertefpos[] -.f, pos[] +.f; glvertefpos[] -.f, pos[] +.f; glvertefpos[] - 4.f, pos[] +.f; glvertefpos[] - 4.f, pos[] +.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] -.f, pos[] +.f; glvertefpos[] -.f, pos[] +.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] -.f, pos[] +.f; glvertefpos[] -.f, pos[] +.f; glvertefpos[] +.f, pos[] -.f; glvertefpos[] +.f, pos[] -.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] -.f, pos[] -.f; glvertefpos[] + 4.f, pos[] +.f; glvertefpos[] +.f, pos[] +.f; glvertefpos[] +.f, pos[] +.f; glvertefpos[] + 4.f, pos[] +.f; glvertefpos[] + 4.f, pos[] -.f; 4/7
glvertefpos[] +.f, pos[] -.f; glvertefpos[] +.f, pos[] -.f; glvertefpos[] + 4.f, pos[] -.f; glvertefpos[] +.f, pos[] +.f; glvertefpos[] +.f, pos[] -.f; glvertefpos[] +.f, pos[] -.f; glvertefpos[] +.f, pos[] +.f; 6. 다음문제에답하시오. 점 평면 a + b + cz + d = 의법선벡터 na, b, c 가단위벡터일때, 평면밖의한점 Q,, z 에서평면에가장가까운거리 k 를구하라. 점 k = n ㆍ Q + d = a + b + cz + d 그리고점 Q 에서가장가까운평면상의점 P,, z 를구하라. P = Q k n = k a = k b z = z k c /7
6/7 중심점, 3, 으로 X- 축으로 배, Y- 축으로 3 배크기변환하는행렬 M44 아핀행렬 을작성하라. 점 그리고다음왼쪽기본도형에, 위의아핀변환행렬 M 을적용하여나타난도형의모습을아래네모칸안에정확한척도를그려서나타내라. 6 3 X Y 4
7/7 7. 다음은 3 차원그래픽에서임의의축 arbitrar ais v =, 3, 4 에대한 4 도회전행렬을유도하는문제이다. 아래의행렬에서 θ, θ, z θ z 행렬을답하시오. cos4 = sin4 =.77 etra 점 P T P T M z 4 3 3 4.77.77.77.77 4 z z z