프로그래밍/3D Graphics(6)
-
Convert Voxel World To Planet
Voxel 세계를 Planet화 하려면? 1. Torus Function을 이용한 정점 변환 Is a round Minecraft world possible? 위 영상에서는 Voxel Planet을 표현하기 위해 복셀을 라운딩화 할 수 밖에 없는 이유를 설명한다. How to make the Minecraft world look spherical 그리고 위 영상에서는 Voxel 세계를 구면화 하는 방법을 제시하고 있다.영상을 보면 구면화를 위해 torus 방정식을 응용하여 정점을 새로 계산한다. 유니티에서 제시된 이론을 바탕으로 적용해본 결과는 아래와 같다. 겹치는 부분을 조정하기 힘들다는 단점이 있지만 굉장히 흥미로운 방법이라 생각됩니다. 2. 구의 특성을 이용한 방법 구는 모든 정점의 길이가 동일하다..
2018.06.29 -
[Common]와인딩 모드, 오른나사(CW)와 왼나사(CCW)
와인딩 모드, 오른나사(CW)와 왼나사(CCW) 도형은 여러 개의 정점으로 구성된다. 이때 도형을 구성하는 정점의 순서를 와인딩(Winding)이라고 한다. 똑같은 삼각형을 그리더라도 정점을 시계 방향으로 나열할 수도 있고 반시계 방향으로 나열할 수도 있다. 둘 다 3개의 꼭지점으로 구성되어 있는 삼각형인데 abc 순으로 돌 수도 있고 acb순으로 돌 수도 있다. 어쨌거나 세 정점을 연결하여 삼각형을 그리므로 결과는 같다. 그러나 방향에 따라 도형의 앞 뒤가 달라진다. OPENGL에서 디폴트 와인딩은 반시계 방향으로 정의되어 있으며 관찰자가 보기에 반시계 방향으로 그려진 면이 도형의 앞으로 간주된다. 위 그림에서 반시계 방향으로 그려진 왼쪽 삼각형은 앞면이 보이는 상태이고 시계 방향으로 그려진 오른쪽 삼..
2015.11.14 -
[Common] 행렬과 3D Graphics
행렬(Matrices)과 3D Graphics에서의 행렬3D Graphics에서 행렬은 정말 중요하다.이유는 3차원 공간에서의 크기, 이동, 회전에 관한 정보를 행렬을 통해 모두 표현 할 수 있기 때문이다. 이러한 행렬을 변환행렬(Transformation Matrix)이라고 하며, 줄여서 TM이라고 한다. 행렬의 우선순위행렬은 행과 열의 우선순위에 따라 row-major, column-major로 각각 다르게 표현되어 진다. 대표적으로 D3D는 행 우선방식이며, OPENGL은 열 우선 방식이다. 이 때문에 서로간의 행렬은 전치상태를 이룬다. 변환 행렬(Transform Matrix) 정리 변환 행렬 구조 분석(행) 이미지 출처 : http://blog.naver.com/ppmmjj83/50103104357
2015.09.30 -
[Math] 행렬의 기본연산
행렬의 연산 덧셈과 뺄셈- 같은 차원을 가지는 행렬은 각 항을 서로 더하고 빼는 것으로 덧셈과 뺄셈이 가능하다. 스칼라 곱 - 각 항목을 스칼라로 곱하면 된다. 곱셈- 행렬간의 곱을 위해서는 A의 열수와 B의 행 수가 같아야 하며, 아래와 같이 계산한다. *곱셈의 성질- 행렬 간의 곱셈에서는 교환법칙이 성립하지 않는다.**결합 법칙은 성립한다. [EX]
2015.09.30 -
[COMMON] 행렬에 대하여...
행렬(Matrices)이란? - 아래 그림과 같이 행과 열로 이루어진 집합을 말한다. 행렬의 기본성질 - 곱셈 연산에 있어 교환법칙이 성립되지 않는다. 행렬의 종류1. 정방행렬(Square Matrix)행과 열의 수가 같은 구조의 행렬. 정사각형 형태의 행렬. 2. 단위행렬(unit[identity] matrix)정사각행렬의 왼쪽에서 오른쪽 아래로의 대각선의 성분이 모두 1이고 그 이외의 성분이 모두 0인 행렬을 말한다. 3. 전치행렬(transposed matrix)원래 행렬의 열은 행으로, 행은 열으로 바꾼 행렬.전치행렬은 표기한다. 4.역행렬((inverse matrix) 숫자의 역수와 같은 개념으로,곱하게 되면 결과가 단위행렬이 되는 행렬을 역행렬이라 한다.즉 역행렬이란, 행렬 A에 대해 곱셈연산..
2015.09.28 -
[Common]3DS MAX, D3D, OpenGL의 좌표계에 대하여...
좌표계3차원 공간의 좌표는 세 개의(x, y, z) 축으로 표현된다.보통 x와 y축이 나타내는 방향은 같으며, z축의 방향에 따라 왼손 좌표계, 오른손 좌표계로 구분되어 진다. 3DS MAX, OPENGL, D3D의 좌표계 가장 많이 사용되는 모델링 툴인 MAX와 3D 그래픽 라이브러리인 OpenGL은 오른손 좌표계를D3D는 왼손 좌표계를 사용한다.MAX의 경우 오른손 좌표계를 사용하지만, Z축이 위를 향하고 있다는 것을 잊지 말자. 좌표계 변환[MAX->D3D]MAX에서 Exporting한 모델링 파일을 D3D에서 표현하기 위해서는 좌표계를 변환해야 한다.변환 : x = x, y = z, z = y [MAX->OPENGL]OpenGL은 MAX와 동일하게 오른손 좌표계를 사용한다.하지만 Y축의 방향이 서..
2015.09.27