Mesh processing에서 Manifold와 Nonmanifold는
메쉬의 토폴로지(Topology)에 관련된 용어로 사용됩니다. 토폴로지는 한글로 위상이라고 말하는데 Mesh의 vertex, face, edge 연결관계를 나타내며, 임의의 vertex에서 연결된 face들이나 edge들의 정보를 알 수 있도록 하는 게 위상 정보로 보시면 되겠습니다.
Manifold는 한글로 다양체라고 부르는데, 아래 그림과 같이 한 개의 edge가 두 개의 face를 공유하거나(좌측 그림), 한 개의 점에서 연결되어 있는 점들이 1개의 집합으로 이루어졌을 때(우측 그림) manifold라고 부릅니다.
반면에 Nonmanifold는 비다양체라 부르며 한 개의 edge가 3개 이상의 face를 공유하거나(좌측 그림), 한 개의 점에서 연결되어 있는 점들이 2개 이상의 집합으로 이루어졌을 때(우측 그림) nonmanifold라고 부릅니다.
일반적으로 nonmanifold는 3D 프린터나 CAM(Computer-Aided Manufacturing)으로 형상을 제작하는 것이 불가능하기 때문에 모두 manifold로 수정을 해야 합니다. 그리고 대다수의 mesh processing 작업도 mesh 형상이 manifold란 가정하에 처리를 하기 때문에 사전에 모두 nonmanifold 처리를 해야 mesh processing 하는데 문제가 발생하지 않습니다. 참고로 nonmanifold를 manifold 형태로 바꾸는 작업을 mesh repair 또는 mesh healing이라고 부릅니다. nonmanifold 형태는 위에서 보인 예시 외에도 여러 가지 경우가 있고 이를 처리하는 작업은 쉬운 작업이 아니라고 할 수 있습니다.
Nonmanifold 형상은 스캐너를 통해 mesh 만들 때 발생 할 수 있고, mesh processing 하는데 예상치 못한 오류로 nonmanifold 형상이 만들어 질 수 있습니다.
'3D Algorithm' 카테고리의 다른 글
두 벡터 사이각(내적, 외적 활용) (0) | 2024.01.17 |
---|---|
변환행렬 사원수 변환 코드(Matrix to Quaternion using Eigen Library) (0) | 2024.01.12 |
3차원 삼각형 면적 계산 5가지 방법(좌표, 길이, 각도, 외적 이용) (1) | 2023.12.26 |
AABB OBB 차이와 의미 (0) | 2023.12.11 |
행기준 열기준 행렬 개발자 주의점(Transform Matrix) (0) | 2023.12.05 |