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
'컴퓨터공학 & 정보통신' 카테고리의 다른 글
[컴퓨터그래픽스] OpenGL Reflectance Model, Illumination Caculation, Shading Model (0) | 2023.06.12 |
---|---|
[컴퓨터그래픽스] Parametric Surface, Homogeneous Coordinate, Raytracing (0) | 2023.06.12 |
[강화학습] Numpy를 활용한 Q-Learning 이해하기 (0) | 2023.06.01 |
[자료구조] Planar graph 와 plane graph (0) | 2023.05.31 |
[컴퓨터그래픽스] Winged edge table (0) | 2023.05.29 |