모델 변환과 시점 변환 - 좌표계
좌표계
(1) 3차원 물체의 표현
- 3차원 물체를 표현하는 방법은 물체 표면만 표현하는 방법과 물체 내부까지 표현하는 방법, 두가지 존재
- 그래픽스에서는 주로 물체 표면만 표현하는 방법을 사용, 이를 경계면 표현(Boundary Surface Representation)이라 한다.
* 경계면 표현(Boundary Surface Representation)
- 물체의 표면을 표현하는 방법으로 주로 평면 다각형(Planar Polygon)의 집합으로 표현
- 곡면을 표현하는 평면 다각형 하나하나를 메시(Mesh), 표면 메시(Surface Mesh), 다각형 메시(Polygon Mesh), 표면 다각형(Polygon Mesh), 표면 다각형(Surface Polygon), 다각형(Polygon)이라고 부른다.
* 아래 사진과 같이 표면의 다각형 크기가 작고 양이 많을수록 곡면에 가까운 모습이다 (그림 6-2, --->방향)
그러나 면의 수가 늘어남에 따라 GPU가 처리해야 하는 그래픽 처리량이 늘어 연산시간도 증가한다.
* 표면 메시로 사용되는 다각형
- 일반적으로 표면 메시에 사용되는 다각형은 '사각형' 또는 '삼각형'
- 사각형 메시(Rectangular Mesh)는 삼각형 메시(Triangular Mesh)에 비해 정밀도가 떨어진다.
- 3차원 공간상에서 임의의 4점을 연결하여 이루어진 면은 평면이 아닌 휜 면이 된다.
삼각형 메시는 공간상의 3점이 반드시 평면이기 때문에 정밀도가 증가한다.
-> 다각형 메시 단위로 색상을 계산하는 렌더링 단계에서 메시 자체를 평면으로 가정하여, 사각형 메시에서 정확한 렌더링을 기대하기 힘듦
-> 삼각형 메시로 표현하면 사각형에 비해 메시 수가 2배로 증가, 연산 속도는 느려진다.
* 와이어 프레임 렌더링(Wireframe Rendering) : 다각형 메시의 경계선만으로 물체를 묘사, 물체의 뼈대만을 선분으로 묘사
* 솔리드 렌더링(Solid Rendering) : 다각형 메시에 조명을 가하여 색상이 드러난 물체를 그리는 것
(2)벡터 공간
1) 스칼라(Scalar) : 크기만 있고, 방향은 없는 양
2) 벡터(Vector) : 크기와 방향을 동시에 지닌 것
- 제로 벡터(Zero Vector) : 아무런 크기와 방향이 없는 벡터
- (a),(b) 두 벡터는 크기가 같고, 방향이 반대이므로 둘을 더하면 제로 벡터가 된다.
같은 크기에 방향만 반대로 놓으면 되어 모든 벡터에는 역 벡터(Inverse Vector)가 존재한다.
- (c)는 (a) 벡터에 스칼라 2를 곱한 것이다. 이 경우 방향은 동일하고 크기가 두배인 벡터가 정의된다.
- 벡터의 합은 벡터이다. (d),(e)는 V=A+B의 관계를 나타낸다. A를 갔다 B를 가는 것은 결국 V로 가는 것이다.
*벡터 공간(Vector Space) : 주어진 벡터로부터 파생된느 모든 벡터의 집합
- 주어진 벡터들에 스칼라를 곱하거나 벡터끼리의 합성에의해 만들어지는 모든 벡터의 집합을 의미
(3) 어파인 공간
- 점(Point) : 위치만 있고, 크기나 방향은 없다. 점이라는 개념을 벡터 공간에 추가하면, 방향뿐만 아니라 위치도 표시 가능
-> 벡터 사이는 물론 점과 점, 점과 벡터 사이의 연산이 허용되어야 한다.
*어파인 공간(Affine Space) : 점을 벡터처럼 취급함으로써 벡터 공간을 확장한 것. 벡터에 점을 추가한 것
(4) 좌표축과 좌표계
- 3차원 공간에서 물체의 위치는 주어진 좌표계(Coordinate System)를 기준으로 표시
- 원기둥 좌표계(Cylindrical Coordinate System), 원구 좌표계(Spherical Coordinate System), 직교 좌표계(Cartesian Coordinate System, Rectangular Coordinate System) 등 존재
- 직교좌표계를 가장 많이 사용
: 3차원 직교 좌표계는 서로 직각으로 교차하는 3개의 좌표축 벡터로 이루어진다.
(오른손이든 왼손이든 엄지가 x, 검지가 y, 중지가 z)
'Software Development > Graphics' 카테고리의 다른 글
컴퓨터 그래픽스 이론 정리 - 투상(Projection) (0) | 2018.05.22 |
---|---|
컴퓨터 그래픽스 이론 정리 - 동족(Affine)좌표와 동차(homogeneous)좌표 (0) | 2018.05.06 |
컴퓨터 그래픽스 이론 정리 - 정규좌표와 화면좌표 (0) | 2018.05.02 |
컴퓨터 그래픽스 이론 정리 - 더블버퍼링(Double Buffering) (0) | 2018.04.28 |
컴퓨터 그래픽스 이론 정리 - 컬러이론, 컬러모델 (0) | 2018.04.22 |