컴퓨터공학

[컴퓨터그래픽스] polygonal mesh, subdivision, Mesh Data Structure

TaeGyeong Lee 2023. 6. 12. 13:45

Polygonal mesh

3D 오브젝트의 surface를 표현하는 방식 1

  • filter) smoothing : 주변의 V 평균으로 매끄럽게 만드는 기법 (Weighted Average of 인접V)
  • sharpen : smoothing과 반대

 

Subdivision Surface

3D 오브젝트의 surface를 표현하는 방식 2

 

고려

  • Input 이 무엇이냐에 따라 다른 방법
  • Topology Refinement : Face 분할
  • Geometry Refinement : 점 위치 재배

 

Continuity - 매끈한 surface를 구현하기 위해서는 보장되어야 하는 성질

  • G-1 : 연결 x
  • G0 : 연결만 = position
  • G1 : 1차 미분가능 = tangent
  • G2 : 2차 미분가능 = curvature

 

Subdivision Curves -  Surface에 적용하기 앞서 Curve에 적용할 수 있는 기법들

  • Corner Cutting : 기존 선의 1/4, 3/4에 새 점 -> 기존 점 제거 -> 새 점끼리 연결 (반복)
  • Interpolating : 기존 선 유지, 새 선을 생성하여 재연결 -> (반복) -> C1 연속성
  • Approximating : 기존 선의 1/2 새점 -> 새점을 통해 기존 점 조정 (반복)

 

Linear Subdivision - Subdivision Surface 종류 1

  • input : Quad Mesh
  • Topology : 중간점 기준으로 분할
  • Geometry : 각 무게중심합/4

 

Catmull-Clark Subdivision - Subdivision Surface 종류 2

  • Geometry : (F + 2R + (n-3)P )/ n 새점을 기준으로 기존 점 조정 (반복)
  • C2 연속성 근사

 

Loop Subdivision - Subdivision Surface 종류 3

  • input : 삼각형
  • C2 연속성 근사
  • 입력 정점 -> 보간법 미사용 -> 입력 정점 위치 변경 x

 

Gap을 막는 방법 (Adaptive Subdivision)- unbalacned, balanced

 

Mesh Data Structure

Graph

  • Vertex degree (valence) : 하나의 V에 연결된 E의 갯수
  • Regular Mesh : 모든 V의 vertex degree 동일한 mesh
  • connected, subgraph
  • connected component : 서로 고립된 subgraph
  • planar graph, plane graph
  • triangulation : 모든 F 삼각형

 

Mesh

  • Boundary Edge : 1F
  • Regular Edge : 2F
  • Singular Edge : 3+F

만큼의 F에 인접한 Edge

  • Closed Mesh : Boundary Edge 없는 Mesh

 

Mesh Data Structures

점, 각 점의 수직벡터, 색과 텍스처를 포함해야 함

  • Face Set : STL, 중복, 연결 X
  • Shared Vertex : 인접여부 비효율, 연결 O(1)
  • Half Edge : 일반 -> twin -> next 순으로 탐색, twin 에 다음 탐색 정보 저장
  • Adjacency Matrix : 두 V 관계 2차원 테이블, non-manifold 표현 가능, 인접 V의 F에 대한 정보 X