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

Similar documents
Microsoft PowerPoint - 13prac.pptx

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

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

Microsoft PowerPoint - lecture4-ch2.ppt

Open GL

PowerPoint 프레젠테이션

04_오픈지엘API.key

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

Microsoft PowerPoint - lecture12-ch5.ppt

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

Microsoft PowerPoint - lecture12-ch5

歯Lecture2.PDF

Microsoft PowerPoint cg01.ppt

Microsoft Word - cg12-midterm-answer

untitled

TRIBON 실무 DRAFT 편 조선전용 CAD에 대한 기초적인 사용 방법 기술 기술지원팀

2 : 3 (Myeongah Cho et al.: Three-Dimensional Rotation Angle Preprocessing and Weighted Blending for Fast Panoramic Image Method) (Special Paper) 23 2

슬라이드 1

19_9_767.hwp

Microsoft Word - cg07-midterm.doc

2005CG01.PDF

63-69±è´ë¿µ

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

슬라이드 1

歯TC프로그래밍매뉴얼

Lab10

PowerPoint 프레젠테이션

산선생의 집입니다. 환영해요

Microsoft Word - cg08-final-answer.doc

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

01_피부과Part-01

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

좋은 사진 찍는 방법

PowerPoint 프레젠테이션

Microsoft Word - cg07-final.doc


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

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

歯기구학

1 Nov-03 CST MICROWAVE STUDIO Microstrip Parameter sweeping Tutorial Computer Simulation Technology

Microsoft Word - cg09-final-answer.doc

À±½Â¿í Ãâ·Â

Architectural Drawings 건축드로잉 : 이론과실제

OR MS와 응용-03장


untitled

Vertical Probe Card Technology Pin Technology 1) Probe Pin Testable Pitch:03 (Matrix) Minimum Pin Length:2.67 High Speed Test Application:Test Socket

Microsoft PowerPoint - GameProgramming16-Camera.ppt

,. 3D 2D 3D. 3D. 3D.. 3D 90. Ross. Ross [1]. T. Okino MTD(modified time difference) [2], Y. Matsumoto (motion parallax) [3]. [4], [5,6,7,8] D/3

슬라이드 1

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

2007백서-001-특집

01....b

00목차

(291)본문7

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

45-51 ¹Ú¼ø¸¸

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

Microsoft Word - cg09-midterm.doc

Dialog Box 실행파일을 Web에 포함시키는 방법

Building Mobile AR Web Applications in HTML5 - Google IO 2012

300 구보학보 12집. 1),,.,,, TV,,.,,,,,,..,...,....,... (recall). 2) 1) 양웅, 김충현, 김태원, 광고표현 수사법에 따른 이해와 선호 효과: 브랜드 인지도와 의미고정의 영향을 중심으로, 광고학연구 18권 2호, 2007 여름

Microsoft PowerPoint - lecture15-ch6.ppt

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

슬라이드 1

00½ÃÀÛ 5š

슬라이드 제목 없음

PART

Part Part

£01¦4Àå-2

½ºÅ丮ÅÚ¸µ3_³»Áö

272*406OSAKAÃÖÁ¾-¼öÁ¤b64ٽÚ

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

Microsoft Word - FunctionCall

RVC Robot Vaccum Cleaner

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

164

Microsoft PowerPoint - 7-Work and Energy.ppt

08원재호( )

(JBE Vol. 23, No. 5, September 2018) (Regular Paper) 23 5, (JBE Vol. 23, No. 5, September 2018) ISSN

untitled

Microsoft PowerPoint - lecture16-ch6

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

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

Microsoft PowerPoint - Week04_Rendering Pipeline.pptx

......V16.

Output file

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

2002년 2학기 자료구조

2014밝고고운동요부르기-수정3

2005프로그램표지

Something that can be seen, touched or otherwise sensed


<65B7AFB4D7B7CEB5E5BCEEBFEEBFB5B0E1B0FABAB8B0EDBCAD5FC3D6C1BE2E687770>

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

14.이동천교수님수정

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

11¹Ú´ö±Ô

Microsoft PowerPoint - ch02-1.ppt

Transcription:

Viewing

Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter 5 world frame glmatrimode(gl_modelveiw) glmatrimode(gl_projection) camera frame camera 방향 object frame

5. Classical and Computer Viewing

Viewing classical viewing hand drawing 에서발전 basic components object a viewer (COP) projector projection plane COP : center of projection 3

Viewing perspective viewing finite COP center of projection parallel viewing infinite COP DOP direction of projection 4

Classical Viewings hand drawing 에서발전 5

Orthographic Projection parallel projection 의일종 also known as orthogonal projection projector 가 projection plane에수직 projection plane은 object에수직 multi-view orthographic projection 개의 parallel projection 은정보전달에한계 건축용도면에서많이사용 length and angle preserving 6

Aonometric Projections parallel projection 의일종 projector 가 projection plane에수직 그러나, projection plane 자체가기울어짐 단점 : distortion 발생가능 7

Aonometric Projections isometric view : 3 개 ais 에 smmetric dimetric view : 2 개 ais 에 smmetric trimetric view : general case 8

Oblique Projection parallel projection 의일종 projector 와 projection plane 이서로기울어진각도 distortion 발생 9

Perspective Projection 르네상스시대에사실주의화풍에서유래 vanishing point ( 소실점 ) projector 들이모이는점 classical viewing 에서는 three-point perspective two-point perspective one-point perspective computer graphics 에도입

5.2 Positioning of the Camera

3D Viewing camera 를흉내낸다 film displa screen 물체 바늘구멍사진기 2

Camera Positioning initial camera position in OpenGL at the origin of the world frame, to direction camera movement reverse movement of the objects gltranslatef(.,., ); 3

Camera Positioning another eample : rotated camera glmatrimode(gl_modelview); glloadidentit( ); gltranslatef(.,., ); glrotatef( 9.,.,.,.); object 입장 : -9도회전, - 이동 camera 입장 : 이동, 9도회전 4

Viewing API s general viewing API : PHIGS, GKS-3D approach PHIGS, GKS-3D : famous graphics librar camera를어떻게설정할것인가? VRP (view reference point) : 3D point. camera 의위치 VPN (view plane normal) : view plane 의방향을결정 VUP (view up vector) : camera film 의윗방향을결정 view reference point view-up vector V view-plane normal vector N 5

Viewing Coordinate world frame 과 camera frame 의관계 w w v View Plane w v V v world coordinate sstem N U view coordinate sstem View Reference Point 6

Viewing Matri 의계산 V : viewing matri world frame 의점 q 를 camera frame 으로변환 p : VRP, n : (normalied) VPN, v : (normalied) VUP view q world q V 7 p : VRP, n : (normalied) VPN, v : (normalied) VUP in world frame p 2 2 2 + + n n n n n n n 2 2 2 + + v v v v v v v

Viewing Matri 의계산 제약조건들 u n world world v world (,,) view V p (,,) view V n view (,,) view V v (,,) view V u world world world world v V v U View Plane v N View Reference Point view coordinate sstem 8

Viewing Matri 의계산 정리하면, T 9 world view q R T q R n n n v v v u u u world view q V q V n n n v v v u u u

Look-At Function OpenGL approach 직접 viewing matri 설정도가능 V 계산후, glloadmatri( ) 다른방법 : glulookat( ) 함수 점 (ee, ee, ee ) 에서, 점 (at,at, at ) 를본다 (look at). 필름의윗방향은 (up, up, up ) 와유사 2

Look-At Function glulookat(gldouble ee, ee, ee, GLdouble at, at, at, GLdouble up, up, up); 모두 world frame 기준으로좌표입력 VRP (ee, ee, ee) VPN (at, at, at) (ee, ee, ee) VUP : (up, up, up) 의방향보정 normalie는자동으로수행 2

Roll-Pitch-Yaw Approach 주로 flight simulator 에서사용 roll : 좌우동, 축기준의회전각 pitch : 상하동, 축기준의회전각 aw : 편요각, 축기준의회전각 3 개의 rotation 으로 viewing matri 설정 필요하면, 개의 translation 추가 ( 비행기위치 ) 22

Polar Coordinate Approach 주로지상관측모델에서사용 예 : 게임의대공포사격 aimuth ( 방위각 ) : 평면에서의회전각 elevation ( 양각 ) : 위로올라간각도 2 개의 rotation matri 로구현가능 23

5.3 Simple Projections

Parallel & Perspective Projection parallel projection vector 에평행한 projection A A perspective projection B B point 를향한 projection projection plane A center of projection A B B projection plane 25

Perspective Projection perspective projection 의구현방법? (,, ) ( p, p, p ) 비례관계에따라, : p : d : p : d <, d < 계산하면, Projection Plane d d (,,) Center of Projection p p p / d / d d 26

Perspective Projection homogeneous coordinate 에의한계산 w d w d p p / / 27 d d w d w w d p p p / / / / d d d homogeneous coordinate 이므로,

Perspective Devision perspective projection 의경우는 OpenGL pipeline 의끝에서처리 homogeneous coordinate 의 w 값을 로만듬 자동계산! 28 / d d / / d d d transform 들을수행

Orthogonal Projections parallel projection 들중에서, orthogonal projection 은구현이쉬움 p 29 p p p p p

5.4 Projections in OpenGL

Perspective Projection in OpenGL perspective projection 을설정하는방법? angle of view (field of view, FOV) : 보이는각도 view volume, view frustum : 실제로보이는공간 3

Perspective Projection in OpenGL glfrustum(gldouble min, ma, GLdouble min, ma, GLdouble near, far); 주의 : near, far 는 positive 여야함 min near, ma far ( ma, ma, near ) ( min, min, near ) 32

Perspective Projection in OpenGL gluperspective(gldouble fov, aspect, near, far) fov : field of view in -direction, in degree aspect : width / height 33

Parallel Projection in OpenGL glortho(gldouble min, ma, min, ma, min, ma); ( ma, ma, ma ) ( min, min, min ) 34

5.5 Hidden-Surface Removal

Hidden Surface Removal remove surfaces that should not be visible to the viewer object-space approaches 기본아이디어 : sort the polgons image-space approaches 기본아이디어 : piel 단위처리 -buffer algorithm visible surface algorithm, visible surface detection find which surfaces are visible 결국같은 algorithm. 결과만반대로해석 36

Hidden Surface Removal Z-buffer algorithm OpenGL의기본적인 hidden surface removal 방법 구현이쉽고, video card 에서지원하는경우가많다 glutinitdisplamode(glut_rgb GLUT_DEPTH); glenable(gl_depth_test); glclear(gl_depth_buffer_bit); 겹치는부분에서, < 2 이므로, 더가까운원이출력된다. 37

5.6 Walking through a scene

Eample : cubeview.c chap 4. 의 cube program 에기능추가 camera 위치 : GLdouble viewer[3]; glulookat( ) 사용 keboard callback 추가,, 키에따라, camera 위치이동 perspective view 지원 glfrustum( ) 사용 39

Eample : cubeview.c keboard callback void kes(unsigned char ke, int, int ) { /* Use, X,, Y,, and Z kes to move viewer */ if (ke '') viewer[].; } if (ke 'X') viewer[] +.; if (ke '') viewer[].; if (ke 'Y') viewer[] +.; if (ke '') viewer[2].; if (ke 'Z') viewer[2] +.; displa( ); 4

Eample : cubeview.c displa callback 수정 void displa(void) { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glloadidentit(); glulookat(viewer[],viewer[],viewer[2],.,.,.,.,.,.); } glrotatef(theta[],.,.,.); glrotatef(theta[],.,.,.); glrotatef(theta[2],.,.,.); colorcube(); glflush(); glutswapbuffers(); 4

Eample : cubeview.c reshape callback : perspective projection setting 필요 void mreshape(int w, int h) { glviewport(,, w, h); glmatrimode(gl_projection); glloadidentit(); if (w<h) glfrustum(-2., 2., -2. * (GLfloat) h/ (GLfloat) w, 2.* (GLfloat) h / (GLfloat) w, 2., 2.); else glfrustum(-2., 2., -2. * (GLfloat) w/ (GLfloat) h, 2.* (GLfloat) w / (GLfloat) h, 2., 2.); glmatrimode(gl_modelview); } 42

5.7 Parallel Projection Matrices

Projection Normaliation orthogonal projection 은계산이가장간단 다른 projection 을처리할때, 물체자체를 distortion 한후, orthogonal projection 하면같은결과가나온다 transform pipeline 에서, 이런방법도사용 단, distortion matri 는계산해야! 44

Canonical View Volume orthogonal projection 의기준형태 6 개의 plane 으로정의 ±, ±, ± 왜사용하나? algorithm 개발, video card 구현시에편리 OpenGL 에서도 projection 의마지막단계는 canonical view volume 45

glortho( ) 의구현 OpenGL 의내부구현관점에서는 우선 canonical view volume 으로바꾼후에알고리즘들을적용해야 glortho(min, ma, min, ma, near, far); 비례관계에의한계산필요! (,, ) (,,) 46

glortho( ) 의구현 2 step approach 중심을원점으로 translate 전체길이를 2 로 scaling ma+ min ma+ min ma+ min T(,, ) 2 2 2 2 2 2 S(,, ) ma P S T min ma ma 2 min min ma ma 2 min min ma 2 min ma ma ma + 2 + 2 + 2 min min min 47

Oblique Projections projector 가 projection plane에 orthogonal 하지않음 문제점 : 대부분의 graphics package가지원하지않음 해결책 : 계산방법을따로주어야! 보통, shearing H + orthogonal P 로구현 48

Oblique Projections projection 각도를계산 θ : 축과의각도 φ : 축과의각도 θ φ tan θ 49 shearing matri H(θ, φ) cot cot p p p p φ θ cot cot ), ( φ θ φ Hθ

Oblique Projections 전체과정 5 cot cot ), ( orth φ θ φ Hθ P P

5.8 Perspective Projection Matrices

Perspective Normaliation perspective projection 에서도 normaliation projection plane : min, ma 경계평면 : ±, ± (,, min ) (,, min ) 52

Perspective Normaliation perspective normaliation matri N 최종결과 : P P orth N 53 P orth N P N β α

Perspective Normaliation P orth N 에의한 transform 결과 see Tet for more details ± ± min ma ± ± β ( α+ min β ( α+ ma ) ) α β ma ma 2 ma + ma min min min min 54

OpenGL Perspective Transform glfrustum( ) : asmmetric frustum 가능! shearing H(cot θ,cot φ) and scaling 으로해결 H(cotθ,cotφ) H( S( 2 ma min P NS H min 2 see Tet for more details, ma min 2 min + min min ma,, ) min min + 2 min ma ) 55

5.9 Projections and Shadows

Shadow Generation shadow : realistic image 를위해필수적 제대로생성하기는까다롭다 a simple approach projection onto a plane film 에 projection 하는과정과유사 light source ( 광원 ) 평면에의 projection 57

Shadow Generation ( l, l, l ) : 광원의위치 : shadow 가맺힐평면 step : translate( l, l, l ) step 2: projection matri M 원점이 COP 로 projection M step 3: draw the polgon step 4: translate( l, l, l ) l 58