상세 컨텐츠

본문 제목

개념 3D 이해 1.삼각형

프로그래밍/3D

by ∫2tdt=t²+c 2008. 11. 13. 12:21

본문

요즈음 대부분의 영상이나 게임에서 3차원 그래픽을 찾아볼 수 있다. 과거에는 컴퓨터사양이 딸려서 꿈꾸지도 못한일이지만, 최근 그래픽카드와 CPU의 발달로 3D그래픽은 흔하게 되어버린것이다. 3차원그래픽의 개념을 이해, 정리하기 위해 글을 쓴다는 목적을 여기서 밝힌다.

3D에 다가가는데의 첫번째 난관은 3D물체의 표현방법일것이다. 2D그래픽은 비트맵 방식으로 쉽게 표현하고 화면에 나타낼수 있는데 3차원에서는 비트맵 방식을 사용하기 곤란하기 때문이다.
만약 3차원에서 비트맵 방식을 사용한다고 하면

예를 들어 256x256x256크기의 비트맵을 사용하면
각 픽셀당 RGBA32로 4바이트, 4Bx256x256x256=64MiB. 3차원 물체 하나의 용량도 어마어마하지만, 확대 축소 회전 등의 변환에서 문제가 발생한다는 것이다. 특히 3차원에서 확대 축소 회전 변환은 기본이기 때문에 문제가 심각하다고 할수 있다.
이런 문제점이 있을 것이다.

그래서 사람들은 다음과 같은 방법을 생각해냈다.
모든 3차원 물체는 여러 면으로 이루어진다.
모든 면은 선으로 이루어진다.
모든 선은 점으로 이루어진다.
따라서 3차원 물체는 점으로 표현할수 있다.
다만 문제는 곡면,곡선 등은 유한한 수의 점으로 나타낼수 없다는 건데, 어디 컴퓨터에 정확하게 같은것이 있으랴? 점의 숫자를 늘려서 근사시키면 된다.

위의 생각을 더 간단하게 만드면
어차피 점과 선은 실제로 보이지 않는다.
그러면 점을 세개씩 묶어서 삼각형으로 쓰자.
그러면 모든 면은 삼각형으로 나타낼수 있다.
물론 곡면 등은 삼각형 숫자를 늘려 근사시켜야한다.

이 생각을 폴리곤 모델이라고 부른다. 이와 대조되는 생각으로 NURBS 모델이 있는데 이놈은 곡면에 강하다.(자세한 설명은 생략)

모델링 상으로나 렌더링(3차원 물체를 화면에 보이게함) 상으로나 폴리곤 모델이 간편하기 때문에 폴리곤 모델이 주로 쓰인다. 그래픽 카드 사양을 나타낼때도 초당 몇 백만 폴리곤 등으로 나타내는 것을 보면 이를 알 수 있다.

관련 링크
위키백과 3차원 모델링

결론: 모든 3차원 물체는 삼각형으로 나타낼수 있다.

'프로그래밍 > 3D' 카테고리의 다른 글

Direct3D에 FreeType로 폰트 출력하기  (4) 2013.04.06
개념 3D 이해 6.월드 변환  (0) 2008.12.30
개념 3D 이해 5.프로젝션 변환  (0) 2008.11.17
개념 3D 이해 4.뷰 변환  (0) 2008.11.13
개념 3D 이해 3.변환  (0) 2008.11.13
개념 3D 이해 2.위치  (0) 2008.11.13

관련글 더보기

댓글 영역