강의/컴퓨터 그래픽스

Subdivision Curves and Surfaces

SniKuz 2024. 4. 1. 10:51

목차

 

Subdivision Curves and Surfaces

개요

polyline, polygon이 주어졌을 때, 재귀적으로(recursively) polyline / polygon의 점들을 수정해서 점차 부드러운 형태를 만드는 곡선/곡면 생성 기법입니다. 일반적으로 디자인에서 subdivision이후 수정이 힘들어 보통 마지막에 하는 것 같습니다.

곡선/곡면이 다항식 함수 대신 procedure 형태로 정의됩니다.

 

 

Corner Cutting (Chaikin's Algorithm)

Subdivision scheme의 한 종류로 주어진 다가형의 모서리를 ¼ 씩 깎는 방식입니다.
정확히는 Corner Cutting은 n : m으로 깎는 방법 중 항상 3 : 1 즉 ¼로 깎는 경우를 Chaikin's Algorithm이라 합니다.

n번 재

Corner Cutting in Mesh (Doo-Sabin subdivision)

Doo-Sabin subdivision은 Chaikin's algorithm의 Surface 버전이며 그 결과가 대부분 uniform quadratic B-Spline surface입니다.

 

 

Cubic Corner Cutting & in Mesh

3점을 가지고 커팅하며 최종적으로 Uniform 3차 B-Spline 곡선으로 수렴합니다.

Catmull-Clark subdivison은  surface 버전이며 uniform cubic B-Spline surface로 수렴합니다.

 

 

Triangular Subdivision

오직 triangular meshes (control nets)에서만 작동하며, 삼각형을 더 작은 삼각형의 조합으로 쪼개는 방식입니다.
모든 삼각형 표면은 4개의 새로운 삼각형 표면으로 쪼개집니다.
이때 2가지 종류의 정점이 있는데 쪼개지기 전 삼각형과 정점을 공유하는 old vertices와 
이전 삼각형 old edges 위에 새로 생긴 3개의 new vertices입니다.

Rule : 재귀적으로 삼각형을 쪼갤 때, 새로운 정점 new vertex는 이전 old vertices의 가중치에 평균이라는 규칙을 가지고 있습니다.
가중치 리스트는 subdivision mask 혹은 stencil이라 부릅니다.

반복과

 

 

Butterfly Scheme

Interpolatory(보간) Scheme로 subdivision되어 만들어진 곡선이 원래 polygon의 점들을 지나는 특성입니다.
Butterfly Scheme는 삼각형 대상이 나비처럼 생겨서 붙은 이름으로, negative 가중치도 추가해 가중치를 조절할 수 있습니다.

반복과정