컴퓨터 그래픽스의 3차원 모델링
목 차 모델링이란? 모델 모델의 종류 Modeling & rendering 모델링 소프트웨어 3D 모델의 용도 목 차 모델링이란? 모델 모델의 종류 Modeling & rendering 모델링 소프트웨어 3D 모델의 용도 모델링의 주요 이슈 모델이 수행하는 연산 모델의 분류 모델 생성 기법
1. What’s is 3D modeling? 3D 장면을 구성하는 각각의 모델을 생성 하는 것 이유 - 이미지를 생성하거나 시뮬레이션 하기 위함
2. 모 델 물체의 구조 3차원상에서의 물체의 모양 모델링 방법 중 공간상의 물체의 유무를 알려주는 기하학적인 정보 2. 모 델 물체의 구조 3차원상에서의 물체의 모양 공간상의 물체의 유무를 알려주는 기하학적인 정보 모델의 구조를 표현하는 모델링 방법 모델링 방법 중 물체를 공간의 작은 조각들로 세분화 모델의 모양을 추상적으로 표현 예) 머그잔 : 두꺼운 실린더 모양 모델의 기하학적 구조
모델(2) 물체의 특성 모델의 사용 용도에 따라 결정 표면 표현 : 빛과 어떻게 반응하는지를 물리학적으로 표현 (색, 밝기, 투명도) 모델의 특성 표현
3. Model의 종류 Wireframe 모델 Surface-based 모델 Solid 모델 기본적으로 점과 선에 의해 물체를 표시하던 2차원 시스템을 3차원 공간상으로 확대한 것 Surface-based 모델 면을 중심으로 하여 물체를 표현 물체에 실제감을 높이기 위한 방법(은선과 은면제거) 이나 자유곡면(free-from surface)을 나타내기 위한 방법으로 많이 사용 Solid 모델 위의 두 모델이 부피나 면적을 계산하기 어렵고, 물체의 기하학적 정보가 충분하지 못하다는 단점에 의해 "실제 물체"와 같이 내부와 외부가 정확히 구별되는 형태를 솔리드(Solid) 형태라고 함
Model의 종류 (2) Surface-based 모델 Solid 모델 Wirefram 모델
4. Model : images and Simulations 이미지 생성과 시뮬레이션 Image 란? 모델의 보기 좋음을 요구하므로 더 사실적 요구 Simulation 란? 모델의 정확성 요구 예) 스타디움 건설시 폭풍우등의 조건 검사
Model : images and Simulations (2) 모델링 : 기하학적인 물체의 모양과 색, 반사율, 투과율, 부드러움, 텍스쳐 등과 같은 물체의 특성 표현 종류 사출법(Extrusion), 회전법(lathing) 사각법(beveling), 로프팅(lofting) 매개변수 모델링, 논리연산형 모델링 특수용도 모델링 메타볼 모델링 Mapping : 단순매핑, 범프매핑, 홀 매핑, 환경 매핑
Model : images and Simulations (3) Rendering : 주어진 카메라의 위치로부터 모델을 화면에 투영시키는 것(3D data 화면 좌표계에 투영) 종류 Hidden Line removal Hidden Line Wireframe Shading :음영부여하는 것 Flat Shading Gouraud shading Phong shading Ray tracing Radiosity
Model : images and Simulations (4) Wireframe Flat shading Gouraud shading Radiosity Phong shading Ray tracing
5. 모델링 소프트웨어 모델러 : 3D 모델을 생성하는 프로그램 종류 대화형 소프트웨어 문장형 소프트웨어 기타 디자이너가 터미날 앞에 앉아 키보드나 마우스로 스크린상의 모양을 조작. 문장형 소프트웨어 입력문구에 의해 모델 정의 text data를 받기 때문에 정교한 작업 용이 기타 3D 구조 digitizing 사진을 분석하는 방법
6. 3D 모델의 용도 디자인의 시각화 : 제품생산전의 미리 확인 외형의 평가 : 변화후의 모습을 확인 부품간의 관련성 관찰 : 부품사이의 조화 확인 가능성 조사 비용,부피,면적,제작기간 등의 결정 : 량 측정 물리적 현상의 신뢰도 결정 Display 알고리즘 실험 뒤장에 예술적 목표를 표현
3D 모델의 용도 (2) 실제 물체 화면 display 과정 투영면 coordinate local coordinate 눈의 x z y x z 투영면 coordinate local coordinate 눈의 시점 coordinate World coordinate (x, y) Viewport coordinate Display 화면
7. 모델링의 주요 이슈 Computational cost of the model Effectiveness in model 저장공간, 물체생성시간( 어떻게 data 얻는가?) Display 비용 (물체 모델과 물체의 화질에 의존) ray tracing(광선추적법) depth buffer algo. Effectiveness in model Implementation complexity Acquire data
모델링의 주요 이슈 (2) Ray tracing Depth buffer algo : 광선을 관찰자의 시야에서부터 출발하여 물체를 거쳐 광원 까지의 경로를 찾아내는 개념. 가장 좋은 랜더링. 오래 걸리지만 결과 좋다. 그림자, 조명, 반사 그리고 투명함까지 다 랜더링 됨. 빛에 대한 물리적인 속성 제공 예) 물겁 속의 연필 랜더링. Depth buffer algo : 시점의 안쪽 방향을 Z축이라고 하고, 윈도우 상의 모든 점에 대해서 Z축의 먼쪽에서 순서대로 표시하여 점차적으로 시점에 가까운 곳을 묘사, 가까운 곳이 마지막으로 표시. Z축에 대한 정보를 버퍼에 저장 다각형 모델만으로 제한할 경우 실시간 display에 매우 효율적
모델 연산 참고 모델이 이용하는 연산으로는 1. transformation 2. Change of detail 3. CSG(constructive solid geometry 4. Deformation 5. Display
8. 모델이 수행하는 연산 Transformation Change of detail 모델링 시스템의 기반 translation, rotation, scaling, reflection Change of detail 정밀하거나 간략화 된 표현을 얻기 위해 정보를 추가하거나 삭제하는 연산 보간법 : 상세함 증가 Subsampling, averaging : 간략화 data 생성 Hierarchy(계층구조) : 조직의 간략화 LOD(Level of Detail) : display 화면에따라 크기 비례
모델이 수행하는 연산 (2) Example of LOD Ordered from high detail to low detail
모델이 수행하는 연산 (3) CSG(Constructive Solid Geometry Sys.) Combination rules for solid Each combines two solids Results can be used as a new solid CSG Tree Operation union, intersection difference
모델이 수행하는 연산 (4) CSG operation A B A B A B A B Union A + B Intersection A & B A Difference A - B B CSG tree
구 모델의 Hidden line removal 과 Wireframe 표현 모델이 수행하는 연산 (5) Deformation 새로운 data 없이 모델을 얻을 수 있는것 Display : 가장 시각적인 연산 구 모델의 Hidden line removal 과 Wireframe 표현
9. 모델의 분류 가장 간단한 surface model 3D점들의 모임 표현하기 위해 너무 많은 점 요구.
모델의 분류(1) Quadric surface 2차방정식으로 묘사된 object들의 class Sphere 예) spheres, ellipsoids, tori, paraboloids, hyperboloids Sphere
모델의 분류(2) Quadric surface (2) Ellipsoid(spherical surface 확장)
모델의 분류(3) Polygon 컴퓨터 그래픽스에서 사용되는 가장 일반적인 표현 법 삼각형들로 구성된 고양이 모델 및 지형 모델
실제 프랙탈 그림과 이를 응용하여 구름을 표현한 모습 모델의 분류(4) Fractal-Geometry Methods Natural objects, such as mountains and clouds, can be realistically described. 실제 프랙탈 그림과 이를 응용하여 구름을 표현한 모습
모델의 분류(5) 곡면 곡면모델은 두개의 변수를 갖는 파라메트릭 함수들로 구성 각 곡면을 patch라고 함. Patch의 모양은 control point에 의해 조절 The relation ship between the position of control points and the shape of a patch Bezier 곡면
모델의 분류(6) Volume rendering Vexel : voxel을 기본으로한 정보를 통해 rendering하는것이다. 3차원 voxel data를 입력하여 물체의 면뿐만 아니라 그 내부까지도 표현할 수 있는 것 컴퓨터 단층 촬영(CT) & 핵자기 공명 장치(MRI) Vexel Small blocks of space
Volume rendering에 의한 인간 두뇌 및 얼굴 랜더링 모델의 분류(8) Volume rendering의 예 Volume rendering에 의한 인간 두뇌 및 얼굴 랜더링
모델의 분류(9) Octrees Hierarchical tree structure Reduce storage & storing info. About object interiors Octree의 구조 예
모델의 분류(10) Single primitive 시스템 기본단위를 한기지로 제한하고 이러한 표현의 단일성을 잘 활용할 수 있는 조작 및 디스플레이 알고리즘 개발하는 것
모델의 분류(11) Potential functions 분자 모델링, 인간과 동물의 가상의 장기구조 구 모델의 일반화로 볼륨을 중심에 대한 potential 함수와 field함수로 생각하는 것 Potential함수는 크기,반지름 없고, field임계값에 의해 결정 분자 모델링, 인간과 동물의 가상의 장기구조 분자 구조 모델(물)
모델의 분류(12) 소립자 시스템 구의 반지름을 0으로 감소 각 소립자는 고유의 색깔, 경로, 역사 소유 확률적 알고리즘에 의해 조절 불, 가스, 폭발, 불꽃놀, 잔디밭을 모델링 불꽃과 연기의 표현
10. 모델의 표현구조 및 생성방법 생성기법 2차원 좌표 데이터로부터 모델을 생성 Manual digitization 기법 도면이미지로부터 복원 3차원 모델 스케치이미지로부터 복원 3차원 모델 사진이미지로부터 복원 3차원 모델
모델의 표현구조 및 생성방법(2) 생성기법(2) 3차원 digitizer를 통하여 직접 3차원 좌표 입력 Semi-automated data acquisition 3차원 digitizer를 통하여 직접 3차원 좌표 입력
모델의 표현구조 및 생성방법(3) 생성기법(3) 스캔 과정 레이저 레인지 스캐닝(가장 사실적인 모델링) 레이저를 물체에 투영 윤곽선을 포착 삼각측량 원리로 레인지 data map 획득 3D data로 변환 mesh 얻는다. 실제모델 복원점 3차원모델 레인지 스캐너로부터 물체 복원 예 스캔 과정