학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.

Slides:



Advertisements
Similar presentations
동서 식사예절 박재용이은미. 보기 닫기 카톡 안철수가 빌게이츠에게 면박 당한 이유는...??
Advertisements

1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
■ 지도교사 : 박정희 광덕고등학교 동아리 –어벤져스-
Chapter 3. 뷰잉(Viewing).
입체영상 세미나 아주대 정보통신연구소 게임애니메이션 센터 김주철
제3장 도면 보는 법 학습의 목표 자주 보전 활동에 있어서, 설비에 관한 도면을 볼 기회가 많이 있을 것입니다. 또, 직장의 주변의 개선이나 어떠한 장치 기구의 아이디어를 제작하고 싶을 때에도, 도면이라고 하는 수단이 필요하게 됩니다.   생산기술이나 보전 부문의 사람과.
목차 Ⅰ. 과제 추진 배경 Ⅱ. 현상 분석 Ⅲ . 과제 추진 활동 및 성과 Ⅳ. 기대효과 Ⅴ. 향후 추진 계획.
3D Computer Graphics 5. Viewing 동신대학교 멀티미디어컨텐츠 연구센터 Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter.
Implement of Input and Interaction
Mathematics for Computer Graphics
NCRCAPAS (National Creative Research Center for Active Plasmonics Application Systems)
스테레오 비젼을 위한 3장 영상의 효율적인 영상정렬 기법
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
1636 쇼핑몰.
학습목표 5장. 오픈지엘 기본틀 논리적 입력장치를 설정하는 이유와 종류를 이해한다. 세 가지 입력모드의 차이점을 이해한다.
2장 렌더링 파이프라인 목표 Direct3D에서 3D 물체를 표현하는 방법을 배운다. 가상카메라를 모델링하는 방법을 배운다.
OpenGL 시작하기.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
Nondestructive Material Testing with Ultrasonics
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
컴포넌트 (Component)
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌍용차 회생계획안을 통한 투기자본(=먹튀자본) 수강과목: 회 계 학 원론 담당교수: 박 성 환 교수님
1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용 4장 – 기하학적 객체와 변환 5장 관측
학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
7장. 투상변환과 뷰포트변환 학습목표 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
OpenGL Programming (II) 3D Graphics Fundamentals
Red Color Detection Course ChanYoung Kim
학습목표 2장. 컴퓨터 하드웨어 그래픽 출력장치의 일반적인 작동원리를 이해한다.
그래픽스 시스템과 모델.
Red Color Detection Course ChanYoung Kim
8장. 가시성 판단 학습목표 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
HTML5+CSS3 실무 테크닉 김은기 저.
Chapter 7. Three-Dimensional Viewing
①Pro/ENGINEER 어셈블리 소개 [1]어셈블리 파일 만들기 Fill > New > Name
Matrix 및 Rendering 파이프라인
학습목표 13장. 고급 렌더링 그림자를 구현하기 위한 세 가지 방법을 이해한다. 레이트레이싱의 정의와 구현방법을 이해한다.
핸드폰 시뮬레이션 김 형 도 송 미 경.
Draw the basic Geometry Objects
1. 세포의 구조와 기능 (1) 식물 세포 와 동물 세포 조영희
①Protrusion & Cut 의 개념 [1]Protrusion 과 Cut 의 의미
Web & Internet [06] CSS3 응용과 레이아웃
글로벌한국사 2강 - 고조선과 단군할아버지- 신화 속 역사 읽기.
Red Color Detection Course ChanYoung Kim
Metal Forming CAE Lab., Gyeongsang National University
프로젝트 학습 -프로젝트의 운영- 초등교육학과B 정예은.
패시브하우스 신안산대학교 l 건축과 l 박효동, 박창준, 지예림.
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
3D Shapes 3개 핵심 Properties가 존재 1.Material 표면의 재질을 설정합니다.
노년기 발달 장안대 행정법률과 세류반 정 오 손
의사결정과 의사소통 발표 철학과 나지훈 요약 정치외교학과 양승명 PPT 일본어학과 왕동현 사례 패션학과 강민경
사진의 의미1-memento mori 영화-<8월의 크리스마스> -사진은 죽음의 의미를 어떻게 바꿔 놓았는가?
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
원격교육활용론 11. 원격교육 컨텐츠 설계 : 실습 패키지 박소연 (광주대학교).
도면의 종류 공대학과+학부전공 ?? 건축, 토목, 기전, 화공,사회환경,, 재료, 생명.
콘텐츠 디자인 황아현.
존 듀이의 경험교육론에 기초한 초등학교 체험활동 특징에 관한 연구
게임수학 제 9 장 가시성 판단.
2장 선과 글자 모양에 따른 분류 제품 제작을 하기 위한 도면에는 제품의 정보인 형상, 치수,
민 법 국제무역학과 김종석 교수.
정부조직론 Team 1 발표 제5장 제1절, 제2절 공공정책학부 강철욱 권지호
볼링 지도 – 학습 과정안.
워밍업 실뭉치 전달게임.
음파성명학 최종욱.
예수꼴 예배찬양 부모, 친구 초청 추수감사예배 - 11월 19일 -.
♣좋은 이미지 형성을 위한 5대 POINT ♣ 나의 이미지? 표정/시선 바른 자세 용모/복장 대화법 인사예절.
도면의 종류 공대학과+학부전공 ?? 건축, 토목, 기전, 화공,사회환경,, 재료, 생명.
안전문화 정착을 위한 의식 변화 금정 소방서.
Presentation transcript:

학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다. glOrtho( ) 함수와 gluPerspective( ) 함수 파라미터를 이해한다. 전방 절단면을 되도록 시점에서 멀리 가져가는 이유를 이해한다. 시점좌표, 절단좌표, 정규화 장치좌표, 화면좌표로의 변환과정을 이해한다.

투상(Projection) = 가시변환(Viewing Transformation) Section 01 투상-투상 투상(Projection) = 가시변환(Viewing Transformation) 투상면(View Plane, Projection Plane) 관찰자 위치(View Point, Eye Position) = 카메라 위치(Camera Position) = 투상중심(COP: Center of Projection) = 시점좌표계 원점(Origin of VCS) 투상선(Projectors): 물체 곳곳을 향함 시선(Line of Sight) : WCS원점 또는 초점을 향함 투상면(Projection Plane, View Plane) [그림 7-1] 투상선과 투상면

평행투상(Parallel Projection) 시점이 물체로부터 무한대의 거리에 있다고 간주 투상선이 평행 원래 물체의 평행선은 투상 후에도 평행 시점과의 거리에 무관하게 같은 길이의 물체는 같은 길이로 투상 정사투상, 축측투상, 경사투상 등으로 분류 [그림 7-2] 평행투상

정사투상(Orthographic Projection) 평면도, 입면도, 측면도 등 주 평면(Principal Plane): MCS 주축인 x, y, z에 의해 형성되는 x-y, y-z, z-x 투상면은 주 평면 중 하나와 평행 투상선은 투상면과 직교 원래 물체의 길이를 정확히 보존. 공학도면에 사용 투상선이 반드시 투상면과 직교-> 시점위치가 제한됨. [그림 7-3] 정사투상 I [그림 7-4] 정사투상 II

축측투상(Axonometric Projection) 한꺼번에 여러 면을 보여줌 투상선은 투상면과 직교. 투상면이 주평면들과 평행하지 않음 축 방향으로 서로 다른 축소율(cf. 정사투상) 삼각(삼중형, Trimetric) 투상면이 임의의 위치. 양각(이중형, Dimetric) 투상면이 2 개의 주 평면에 대해서 대칭적. 2개의 축 방향에 대해 동일 축소율 등각(동형, Isometric) 투상면이 3 개의 주 평면이 만나는 모서리에서 모든 평면에 대해 대칭적으로 놓일 때. 3개의 축 방향에 대해 동일 축소율 Ex. 등각, 양각 [그림 7-5] 등각투상과 양각투상

경사투상(Oblique Projection) 투상선끼리는 평행 투상면은 시선에 수직이지만 투상선과 직교하지 않음. 고개는 돌리지 않고 눈동자만 돌려서 보는 것과도 흡사 [그림 7-7] 경사투상

원근투상(Perspective Projection) 시점이 물체로부터 유한한 거리에 있다고 간주 투상선이 시점에서 출발하여 방사선 모양으로 퍼져감. 카메라나 사람의 눈이 물체를 포착하는 방법 [그림 7-8] 원근투상

원근투상(Perspective Projection) 원근감(Depth Feeling) 동일한 크기의 물체라도 시점으로부터 멀리 있는 것은 작게 보이고 가까운 것은 크게 보임 [그림 7-9] 축소율 차이 [그림 7-10] 라파엘,“ 아테네학당”

원근투상(Perspective Projection) 소실점(VP: Vanishing Point) 원근투상 결과 평행선이 만나는 점(시점 높이) 소실점의 수 일점투상(One-point Projection), 이점투상(Two-point Projection), 삼점투상(Three-point Projection) 원근변환(Perspective Transformation) 직선->직선, 평면->평면 물체 정점간의 거리에 대한 축소율이 달라짐. (cf. 어파인 변환) [그림 7-11] 소실점 [그림 7-12] 일점투상과 이점투상

Section 02 지엘의 투상변환-지엘의 평행투상 투상: void glMatrixMode(GL_PROJECTION); 기본 평행투상 모델 좌표, 전역 좌표, 시점 좌표 순서로 변환된 상태 P, P'은 시점 좌표계 기준의 좌표. 거리 d에 무관하게 동일한 모습 특이변환(Singular Transformation): 역변환이 없는 변환 (x, y, z, 1)에서 (x, y)만 읽어내면 그것이 투상된 2차원 좌표 깊이 정보를 활용하기 위해서 지엘은 이러한 변환을 가하지 않음 투상결과 여전히 3차원 좌표가 유지. (7.1) (7.2) [그림 7-13] 평행투상

장면의 범위를 지정할 필요성: 가시부피(View Volume) 가시부피에 의한 평행투상 장면의 범위를 지정할 필요성: 가시부피(View Volume) 전방 절단면(Near Clipping Plane, Near Plane, Front Plane, Hither) 후방 절단면(Far Clipping Plane, Far Plane, Back Plane, Yon) void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); [그림 7-14] 평행투상의 가시부피 [그림 7-15] 절단

정규화 가시부피(CVV: Canonical View Volume) 가로, 세로, 높이가 2인 정육면체로 투상 정규화 변환(Normalization Transformation) 이유 평행투상, 원근투상을 동일한 모습의 정규화 가시부피로 변형 동일 파이프라인 사용 정육면체를 기준으로 하면 연산이 간단함. 다양한 해상도의 화면 좌표계로 변환하기가 간단함. [그림 7-16] 평행투상에서의 가시부피 정규화

Reflection: 정규화 가시부피는 왼손좌표계 정규화 가시부피 변환 물체에 대한 이동, 크기조절, 반사변환으로 간주 Reflection: 정규화 가시부피는 왼손좌표계 결과적인 좌표계 = 절단 좌표계(CCS: Clip Coordinate System) [그림 7-16] 평행투상에서의 가시부피 정규화 (7.7)

기본 원근투상 지엘의 원근투상 x' : (-d) = x : (-z), y' : (-d) = y : (-z) [그림 7-17] 원근투상 (7.8) (7.9) (7.10) [그림 7-18] 평면도와 측면도

원근분할(Perspective Division, Homogenization) 원근변환 원근분할(Perspective Division, Homogenization) 동차좌표의 마지막 요소로 이전 요소를 나누는 작업 절단이 동차좌표에서 이루어지기 때문에 절단 이후로 미루어 짐.  원근변환 어파인 변환이 아님: 마지막 행이 (0, 0, 0, 1)이 아님 3차원 좌표관점: x' = x/(z/d): 비선형 변환 4차원 동차좌표 관점: 선형변환

절단 사각뿔(Frustum) = 절두체 정규화 가시부피에 의한 원근투상 [그림 7-19] 원근투상의 가시부피 [그림 7-20] 가시부피 예시 I [그림 7-21] 가시부피 예시 II

원근투상과 평행투상 [그림 7-22] 원근투상 결과 [그림 7-23] 평행투상 결과

가시부피 가시부피 설정에 의한 절단 [그림 7-24] 가시부피 설정 [그림 7-25] 절단된 물체

원근투상의 정규화 가시부피 [그림 7-26] 원근투상에서의 가시부피 정규화

원근투상의 정규화 가시부피 일반적 형태의 가시부피: void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); [그림 7-27] 정규화 변환 (7.15)

전방 절단면에 비해 후방 절단면이 줄어듬. 원근투상의 정규화 가시부피 멀리 있는 것이 작게 보여야 함. T 행렬 전방 절단면에 비해 후방 절단면이  줄어듬. 멀리 있는 것이 작게 보여야 함. T 행렬 Z 값에 영향을 미침: 원래의 물체 정점의 깊이 z와 정규화 변환 후의 물체 정점의 깊이 z'의 관계 [그림 7-29] 정규화 변환 결과 (7.17)

높이: 멀어질수록 전봇대 높이가 낮아짐(원근변환) 시점 좌표계에서 절단 좌표계로 높이: 멀어질수록 전봇대 높이가 낮아짐(원근변환) [그림 7-30] 시점좌표계에서 절단좌표계로의 사상 [그림 7-31] 원근변환에 따른 간격 변화

간격:더욱 촘촘해 짐에 유의(비선형 변환) 시점 좌표계에서 절단 좌표계로 전방 절단면: 시점에서 멀리, 물체에 최대한 근접시켜 설정 물체간격이 상대적으로 보존, 지-버퍼 처리에 유리 (7.19) [그림 7-32] (18)식의 함수변화

시야(FOV: Field of View):상하 y축 방향의 시야각(0 -180도) 대칭적 원근투상 void gluPerspective(GLdouble fov, GLdouble aspect, GLdouble near, GLdouble far); 시야(FOV: Field of View):상하 y축 방향의 시야각(0 -180도) X축 방향의 시야는 종횡비(Aspect Ratio)에 의해 결정됨(폭 / 높이) [그림 7-34] 시야각

초점 거리 50mm 기준 시야각과 카메라 렌즈 광각렌즈(Wide Angle Lens) : 50보다 작음 망원렌즈(Telescope Lens) : 50보다 큼 Ex. 20mm = 85도 시야각, 85mm = 24도 시야각 [그림 7-35/36] 20mm, 85도, 결과 I [그림 7-37/37] 85mm, 24도, 결과 II

지엘 파이프라인 [그림 7-39] 지엘의 좌표변환 파이프라인

Section 03 지엘의 뷰포트 변환-뷰포트 변환 정규화 장치좌표계(NDCS: Normalized Device Coordinate System) 절단 이후 원근분할에 의해 물체 정점을 3차원 좌표로 변환한 것 (x', y', z', 1) = (x/w, y/w, z/w, 1)  뷰포트 변환(Viewport Transformation) 정규화 장치좌표계에서 화면 좌표계로 가는 작업 화면 좌표계(SCS: Screen Coordinate System), 뷰포트 좌표계(Viewport Coordinate System), 윈도우 좌표계(Window Coordinate System) [그림 7-40] 뷰포트 변환

뷰포트 설정 void glViewport(GLint left, GLint bottom, GLsizei width, GLsizei height); [그림 7-41] 뷰포트 설정 (7.22) (7.23) (7.24)

정규화 가시부피에서의 z 값의 범위인 [-1, +1] 사이를 [0, 1] 사이로 사상 정점 사이의 상대적인 깊이는 유지 정규화 가시부피를 원점을 중심으로 해서 z축 방향으로 1/2 만큼 크기조절 변환을 가한 후, z 방향으로 1/2 만큼 이동 [그림 7-42] 재 정규화

가시부피와 뷰포트 [그림 7-43] 가시부피, 정규화 가시부피, 뷰포트의 관계

Thank you