Search
Duplicate
🧊

복셀(Voxel)

간단소개
당신은 이미 복셀을 알고 있다.
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
잡지식
Graphics
Scrap
태그
잡지식
9 more properties

픽셀 / 벡터 - 2D

픽셀은 익히 들어 다들 알고 계실텐데요. 2차원 평면을 이루는 단위 정사각형이라고 표현할 수 있겠습니다. 일반적으로 비트맵으로 이루어진 이미지는 얼마나 많은 픽셀로 구성되었는지에 따라 해상도가 다르고 이미지의 정밀도가 달라집니다. 보편적으로 많이 사용되는 1080p의 p는 pixel로, 세로에 1080개의 픽셀로 이루어진 화면이라는 의미입니다. 일반적으로 16:9 비율의 화면을 많이 사용하기 때문에 1920 * 1080개의 픽셀로 이루어진 FHD(Full High Definition)해상도의 이미지입니다.
이렇듯 픽셀의 수가 제한되어있기 때문에 이미지를 확대할 경우 매끄럽게 보이던 선이 계단모양으로 보이는 등 화질이 깨지는 현상이 나타날 수 있습니다. 이런 문제를 해결하는 것이 점과 점을 수학적 계산으로 연결한 선으로 이미지를 구성하는 벡터 방식의 이미지입니다. 2차원 평면상의 점들의 좌표 기반으로 컴퓨터가 계산을 해 선을 그리기 때문에 확대를 해도 매끄러운 선을 볼 수 있습니다.

복셀 / 폴리곤 - 3D

2차원에서는 픽셀처럼 일정 단위로 이미지를 구성하는게 일반적인 반면, 3차원 모델의 구성에는 2차원의 벡터와 유사한 폴리곤 방식이 주로 사용됩니다. 2차원 상에서는 지속적으로 컴퓨터가 연산을 수행해야하는 벡터방식보다는 2차원 배열에 RGB값을 담고 각 요소를 연산하는게 오히려 빨랐지만, 3차원 공간에서는 너무 많은 수의 원소를 계산해야하기 때문에 대체로 폴리곤을 통해 삼각형, 혹은 사각형 면들의 집합으로 형태를 구성하는 방식을 주로 사용합니다. 하지만 3차원 공간상에서도 2차원 처럼 단위 정육면체를 통한 형태 구성방식이 있습니다. 이를 볼륨(Volume)과 픽셀(Pixel)을 합쳐 복셀(Voxel)이라고 부릅니다. 부피를 가진 픽셀이라고 볼 수 있습니다.
복셀의 대표적 사례로는 마인크래프트를 들 수 있습니다. 마인크래프트는 흙이나 돌, 심지어 물마저 정육면체의 큐브로 이루어져있는데 이런 식으로 형태를 구성하는 방식을 복셀의 대표적 예로 들 수 있습니다. 복셀은 3차원 단위 정육면체의 집합이기 때문에, 조금 복잡하지만 픽셀로 이루어진 2차원 평면의 집합으로 볼 수 있고, 특정 축을 기준으로 단위 길이만 떼서 보면 픽셀이라는 말과 동일합니다. 이를 역으로 이용한 것이 MRI입니다. 신체를 자기공명을 통해 평면단위로 스캔한 후 이를 조합해 3차원으로 구성하는 방식으로 신체를 스캔합니다.

복셀 vs 폴리곤

기존에 폴리곤이 주로 쓰였던 이유는 복셀의 느린 연산속도 탓이 컸습니다. 이미지의 구성 픽셀 수가 많을 수록 선명한 해상도를 출력할 수 있는 것 처럼, 섬세한 형태를 구성하기 위해 해상도를 높였을 때, 폴리곤은 외피를 구성하는 평면단위(제곱)으로 복잡도가 비례하는 반면, 복셀은 구성 블록의 부피(세제곱)으로 비례하기 때문입니다. 하지만, 최근에는 처리장치들이 빠른 연산속도를 지원하고 GPU를 통한 병렬연산등이 가능해지면서 복셀의 활용도가 점점 높아지고 있습니다.
이미지에서 픽셀이 각 픽셀에 색 정보를 담고 있는 것 처럼, 공간정보를 저장할 수 있기 때문에 전체 공간에 대한 단위공간의 속성값을 이용해 언제든 형태를 재구성해낼 수 있기 때문에 MRI에서 이용됩니다. 또한, 애니메이션 처럼 반복적이고 빠른 연산작업이 필요한 곳에는 적합하지 않지만, 지형 등 고정된 요소를 구현하기에는 용이합니다. 땅을 파는 등, 형태가 변경될 때 폴리곤은 해당 영역의 점을 이동하거나 변경해 전체적인 형태가 새로 구성돼야하지만, 복셀은 해당 부분의 값만 변조하면 되기 때문입니다.
더불어 기존 폴리곤 방식에서는 비행기가 파손되는 것을 표현할 때, 기존의 폴리곤에 텍스쳐를 변경해 외형적 표현만 가능했던 반면, 복셀형태로 구성할 경우 유체역학 등을 적용해 보다 다양한 물리엔진의 구현이 가능합니다.