등가면

위키백과, 우리 모두의 백과사전.

등가면(isosurface)은 등치선의 3차원 형태이며, 3차원에서 일정한 스칼라 값(예: 압력, 온도, 속도, 밀도)을 갖는 점들의 모임을 나타내는 연속된 표면이다. 즉, 정의역이 3차원 공간인 연속 함수수준 집합이다.

프로펠러의 날개에서 나오는 소용돌이 흐름의 등가면.

응용[편집]

등가면은 컴퓨터 그래픽의 주요 주제이며, 특히 전산 유체 역학에서 시각화 방법으로 자주 사용된다. 이를 활용하면 항공기의 날개와 같은 물체 주위의 유체(기체 또는 액체)의 흐름을 연구할 수 있다. 그밖에 3차원 시각 데이터가 자주 등장하는 지구물리학, 기상학, 화학, 의료 영상 등에서 널리 활용된다.

구현 알고리즘[편집]

행진 입방체 알고리즘[편집]

행진 입방체(marching cube) 알고리즘은 로렌젠과 클라인이 1987년 시그래프 프로시딩에서 처음 발표한 알고리즘이다.[1] 여기서는 데이터 체적 격자의 가장자리를 체적의 윤곽선과 교차하여 표면을 생성한다. 표면이 가장자리와 교차하는 위치에서 꼭지점을 만들어내고, 그것들로부터 서로 다른 모서리가 교차하는 패턴에 따라 표면을 생성해내는 방식이다. 이 알고리즘은 CPU와 GPU 모두에서 구현이 가능하다.

표면 망 알고리즘[편집]

표면 망(surface net) 알고리즘은 교차하는 정점을 체적 복셀의 중간에 배치하는 대신 가장자리에 배치하여 부드러운 표면을 생성한다.

이중 윤곽 알고리즘[편집]

이중 윤곽(dual contouring) 알고리즘은 주와 로사소가 2002년 시그래프 프로시딩에서 처음 발표했다.[2] 이 알고리즘은 표면 망과 행진 입방체 알고리즘 모두에 대한 확장이라고 볼 수 있다. 여기서 이중 정점은 복셀 내부에 위치하지만 더 이상 복셀의 중앙에 위치하지 않는다. 이중 윤곽 형성은 표면이 복셀의 가장자리를 교차하는 위치와 법선을 활용하여 복셀 내의 이중 정점 위치를 보간한다. 이러한 알고리즘은 표면 망이 종종 입방체처럼 보이거나 잘못 조성된 경우에도 날카롭거나 매끄러운 표면을 잘 유지하는 이점이 있다.[3] 또한 표면을 생성할 때 팔진트리를 활용하는 최적화를 사용하여 출력의 삼각형 수를 표면의 복잡도에 맞게 조정한다.

다양체 이중 윤곽 알고리즘[편집]

다양체 이중 윤곽(manifold dual contouring) 알고리즘은 면 표면의 연속성을 유지하기 위해 팔진트리 이웃의 분석을 포함한다.[4][5]

각주[편집]

  1. William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution 3D surface construction algorithm. In: Computer Graphics, Vol. 21, Nr. 4, July 1987
  2. Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren: Dual Contouring of Hermite Data. 보관됨 2017-09-18 - 웨이백 머신 In: ACM Transactions on Graphics, Volume 21 Issue 3, July 2002
  3. “Smooth Voxel Terrain (Part 2)”. 2012년 7월 12일. 
  4. Scott Schaefer, Tao Ju, Joe Warren (2006). “Manifold Dual Contouring” (PDF). 
  5. Lin X (2016년 10월 23일). “Github Repository - isosurface”. 《GitHub》.