오다기리 박의 알고리즘 노트

메쉬 위의 발산(Divergence) 본문

컴퓨터 그래픽스/메쉬 기하학

메쉬 위의 발산(Divergence)

오다기리 박 2023. 3. 14. 18:37

발산 쉽게 말해 벡터장이 생성 또는 소멸하는 양을 나타낸다. 수학적인 정의는 미분 연산자를 참고하자.

 

 

아래 그림에서 왼쪽은 메쉬 위에서 기준점으로부터 다른 정점까지의 최단 측지거리를 색으로 표현한 것이다. 빨간색으로 갈 수록 가까운 곳, 보라색으로 갈 수록 먼 곳이다. 이 스칼라 장(Scalar Field)으로부터 그래디언트 장(Gradient Filed)을 계산하면 오른쪽 그림처럼 된다. 이 벡터 장(Vector Field)으로부터 발산 장(Divergence Field)를 계산해보자.

 

 

 

 

아래 그림처럼 기준 정점 x와 주변 삼각형이 있고 x에 연결된 한 에지의 방향을 e라고 하자. 양쪽 삼각형에 할당된 벡터는 fα, fβ 이다.

 

 

 

각 벡터와 에지 방향을 내적하고 반대편 각도의 cot값을 곱한 두 값을 평균낸 연산값을 모든 에지에 대해 누적하면 정점의 발산값을 구할 수 있다. 정점 주변의 벡터 장이 각 에지에 나란한 방향으로 할당되어 있을 수록 이 발산값은 커진다. 

메쉬의 측지 거리 그래디언트 장에 대한 발산 장은 다음처럼 나타난다. 보라색에 가까울 수록 발산값이 높아서 그래디언트가 생성되는 지점이며 빨간색에 가까울 수록 발산값이 낮아서 그래디언트가 소멸되는 지점이다.