일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 수광 소자
- Algorithm
- 라인트레이서
- stl
- Arduino
- WinAPI
- 아두이노 소스
- 아두이노 컴파일러
- C언어
- set
- directx
- Stack
- 시스템프로그래밍
- Visual Micro
- 아두이노
- html
- LineTracer
- 자료구조
- arduino compiler
- c++
- list
- map
- queue
- vector
- 컴퓨터 그래픽스
- priority_queue
- Array
- 운영체제
- Deque
- 통계학
- Today
- Total
목록컴퓨터 그래픽스 (16)
Kim's Programming
조명 모델 곡면 렌더링(Surface Rendering)의 과정 렌더링은 3차원 모델링기법을 이용하여 만들어진 객체들에 다음과 같은 과정을 거치게 합니다. 은면제거 셰이딩 투명한 물체 처리 텍스쳐 매핑 그림자 생성 1) 은면의 제거 은면제거는 관찰자로 부터 보이지 않는 면들을 제거하는 것을 의미합니다. 은면제거가 렌더링 과정에 포함될 수도 아닐 수 도 있지만 은면제거를 수행한다는 것은 객체 면들에 불필요한 렌더링을 피함으로써 계산량을 줄일 수 있는 장점이 됩니다. 2) 면의 셰이딩 객체의 모델의 다각형면이나 다각형 메쉬상의 각 점의 위치에서 관찰자의 눈에 들어오는 빛의 반사량과 성분을 계산하는 과정을 다각형 셰이딩(Polygon Shading)이라고 합니다. 셰이딩은 어떤 물체가 입체감 있게 보이게 하는..
은면 제거 은면제거란 시점에서 앞에 있는 객체나 가려진 면들을 제거하는 과정을 의미합니다. 이러한 과정을 거치고서 보이는 면은 렌더링 하면 현실감 있는 그래픽 화면도 얻을 수 있고 랜더링하는 면의 수가 줄어들어 렌더링 시간도 줄일 수 있게 됩니다. 은면 제거(Hidden Surface Removal) 알고리즘 종류 3차원 공간에서 객체가 투영면에 투영될 때 보이지 않는 모서리나 면을 제거해줌으로써 그 객체의 입체감과 현실감을 증가시킬 수 있습니다. 은면제거가 면과 면간에 가려져 보이지 않는 면을 제거하는 데 비해 은선 제거(Hidden Line Removal)은 선과 면간에 보이지 않는 선의 부분을 제거하는 기법입니다. 위의 그림에서 빨간색을 제거하거나 파란색을 제거하느냐에 따라서 서로 다른 모양의 그림..
스플라인(Spline) 곡선 베지어 곡선/곡면 B-스플라인 곡선/곡면 NURBS 곡선/곡면 곡선의 부드러움 ㅇ ㅇ ㅇ 블록다각형 내포성 ㅇ ㅇ ㅇ 국부제어 ㅇ/x ㅇ ㅇ 2차곡선의 재현 x x ㅇ 투영불변성 x x ㅇ 부드러운 물체를 표현하기 위하여, 베지어 곡선, B-스플라인 곡선, 그리고 NURBS 곡선이 일반적으로 많이 이용됩니다. 이러한 모델링 기법들의 공통적인 특성은 모델링 곡선이 제어점들로 구성된 불록 다각형 내부에 항상 위치한다는 사실입니다. B-스플라인 곡선이나 NURBS 곡선의 경우에는 제어점의 위치를 수정할 떄 그 제어점 주위의 곡선 모양만 변하는 국부 제어성을 가지나 베지어 곡선은 일반적으로 국부제어성을 가지고 있지 않습니다. 그러나 짧은 베지어 곡선 세그먼트를 여러개 연결하여 사용하..
3차원 모델링 3차원 객체 모델링 단각형 매쉬(Polygon Mesh) : 여러가지 크기와 모양의 다각형들이 그물 모양으로 연결 된 것 곡면 모델링 : 부드러운 곡면을 표현하기 위하여 항상 이러한 수학함수를 적용할 수 있는 것은 아니지만 자동차나 비행기의 표면과 같은 부드러운 곡면을 설계할떄 이용 스위핑(Sweeping) : 원을 밀어서 원기둥, 원을 회전 시켜 도넛형태등으로 만듬 솔리드 모델링(Solid Modeling) : 육면체, 구, 원기둥과 같은 객체를 결합하거나 조합하여 만듬 절차적 함수 : 자연물, 장연현상을 나타내기 위해 프렉탈 기하학이나 입자시스템을 적용 1) 다각형 매쉬(Polygon Mesh) 모양과 연결하는 방법에 따라 3차원 객체를 근사적으로 표현할 수 있습니다. 삼각형을 이용하여..
투영을 위한 변환 뷰볼륨(View Volume) 튜영변환에서 뷰 평면의 윈도우에 튜영되는 객체들은 3차원 공간에서 일정한 영역을 뷰 볼륨이라고 하며 투영방법에 따라서 뷰볼륨의 모양도 달라집니다. 위에 있는 그림의 경우는 원근투영의 경우이며 뷰 볼륨의 모양이 윗부분이 절단된 사각뿔의 형태인 프러스텀 뷰볼륨(Frustum View Volume)이라고 하며 평행투행에서는 뷰볼륨의 모양이 직육면체의 형태를 가지게 때문에 평행뷰 볼륨이라고 부릅니다. 평행투영(Parallel Projection)의 변환행렬 1) 직각투영(Orthographic Projection) 직각투영의 경우 뷰볼륨이 직육면체 형태이며 뷰잉 좌표계의 각 축에 수직방향으로 놓여있습니다. 따라서 축의 방향으로 직각 투영을 하면 앞에서 보았듯이 그..
투영의 종류 투영방식은 상대적인 크기가 유지되는 평행투영(Parallel Projection)과 거리에 따라 크기가 다르게 투영되는 원근투영(Perspective Projection)으로 구분됩니다. 평행투영(Parallel Projection) 평행투영에서는 3차원 객체를 2차원 평면인 투영면에 일정한 각도로 투영을 시키며, 이 경우 모든 투영선이 평행이므로 원래 객체들 간의 상대적인 크기가 그대로 유지됩니다. 평행투영은 직각투영, 등축투영, 경사투영으로 분류됩니다. 1) 직각 투영(Orthographic Projection) 직각 투영은 3차원 공간의 좌표계에서 x, y, z축 가운데 한 축과 투영방향이 동일하고 투영면은 이 축과 직각이 되도록 배치하여 투영하는 방법을 의미합니다. 직각투영은 처리과정..
3차원 기하변환 이동(Translation) 3차원 공간에서 객체의 이동은 2차원 객체와 마찬가지로 다면체를 구성하는 각 꼭지점을 이동시키고 난다음 이들을 연결하여 다면체를 새로 그리면 됩니다. 3차원 공간에서의 한점 P(x,y,z)가 각 축 방향으로 (tx,ty,tz)만큼 이동한점 P'(x',y',z')의 좌표는 다음과 같이 나타냅니다. 또한 동차좌표계를 이용한 행렬로 표현하면 다음과 같이 됩니다. 신축(Scale) 3차원 공간에서 P(x,y,z)를 원점을 기준으로 하여 각 축의 방향으로 (sx,sy,sz)배 만큼 신축변환을 수행한 점 P'(x',y',z')를 다음과 같이 표현이 가능하며 또한 동차좌표계를 이용한 행렬로 표현하면 다음과 같이 됩니다. 만약 원점이 기준이 아니라 (x0, y0, z0) 기..
3차원 그래픽스 3차원 그래픽스의 처리과정 3차원 객체 또한 모델링(Modeling), 투영(Projection), 렌더링(Rendering) 과정을 거치게 됩니다. 1) 모델링(Modeling) 3차원 그래픽스에서는 모델링 방법이 2차원과는 조금 다릅니다. 다음 5가지 방법을 이용합니다. 다각형 표면 모델링(Polygon Surface Modeling) 매개변수 이용 곡면 모델링(Paramectric Surface Modeling) 솔리드 모델링(Solid Modeling) 스위핑(Sweeping) 프렉탈(Fractal 기하학이나 입자 시스템) 2) 투영(Projection) 3차원 그래픽스에서 모니터가 2차원 평면이기 때문에 투영하는 과정이 필요합니다. 투영과정은 원근투영, 평행투영 2가지가 있습니다..