4면체 행진
Marching tetrahedra![]() |
마칭 테트라헤드라는 컴퓨터 그래픽 분야에서 암묵적 표면을 렌더링하는 알고리즘이다. 일부 큐브 구성으로 행군 큐브 알고리즘의 사소한 모호성 문제를 명확히 한다. 그것은 원래 1991년에 도입되었다.[1]
원래 행군 큐브 알고리즘은 소프트웨어 특허에 의해 보호되는 반면, 행군 사면체는 특허 라이선스가 필요 없는 대체 알고리즘을 제공했다. 특허 출원일(1985년 6월 5일)로부터 20년 이상이 지났고, 이제 행군 큐브 알고리즘을 자유롭게 사용할 수 있게 됐다. 선택적으로, 일부 구성에서 앞서 언급한 모호성을 수정하기 위해 행군 사면체의 사소한 개선사항을 사용할 수 있다.
행군 4면체에서는 각 정육면체를 세 번 반으로 자르는 식으로 6개의 불규칙 4면체로 쪼개져 반대면 세 쌍을 각각 대각선으로 자른다. 이렇게 해서 4면체는 모두 큐브의 주요 대각선 중 하나를 공유한다. 정육면체의 12개의 가장자리 대신에, 우리는 이제 원래 12개의 가장자리, 6개의 얼굴 대각선, 그리고 주요 대각선이라는 19개의 가장자리를 가지고 있다. 행군 큐브에서와 마찬가지로, 이등변형 면과의 이등변형 가장자리 교차점은 격자점에서 값을 선형 보간하여 근사치를 구한다.
인접한 큐브는 동일한 대각선을 포함하여 연결면의 모든 가장자리를 공유한다. 이것은 렌더링된 표면의 균열을 방지하기 위한 중요한 특성인데, 얼굴의 두 대각선의 보간법은 보통 약간 다른 교차점을 주기 때문이다. 인접 큐브를 취급할 때 최대 5개의 계산된 교차점을 재사용할 수 있다는 이점이 추가된다. 여기에는 계산된 표면 정규 및 교차점의 기타 그래픽 속성이 포함된다.
각 사면체는 16개의 가능한 구성을 가지며, 교차로 없음, 한 삼각형 교차로, 두 개의 (인접) 삼각형 교차로 등 세 가지 등급으로 나뉜다. 16개의 구성을 모두 열거하고 그것들을 적절한 삼각형 스트립을 정의하는 꼭지점 색인 리스트에 매핑하는 것은 간단하다.
행진 큐브와 비교
행군 4면체는 큐브당 최대 19개의 가장자리 교차로까지 계산하는데, 행군 큐브는 12개만 있으면 된다. 이러한 교차점 중 하나만 인접한 큐브(주 대각선에 있는 것)와 공유할 수 없지만 큐브의 모든 면에 대한 공유는 알고리즘을 복잡하게 만들고 메모리 요구량을 상당히 증가시킨다. 반면, 추가 교차로들은 약간 더 나은 샘플링 분해능을 제공한다.
일반적으로 사용되는 룩업 테이블의 크기를 결정하는 구성의 수는 사면체당 8개의 정점이 아닌 4개의 정점만 포함되기 때문에 훨씬 적다. 하나의 큐브 대신에 처리할 6개의 4면체가 있다. 그 과정은 모호하지 않기 때문에 추가적인 모호성 처리가 필요하지 않다.
단점은 4면체 입방체의 테셀레이션은 4면체의 방향과 관련하여 선택이 필요하며, 이는 안면 대각선을 따라 보간하기 때문에 이소수르면에 인공적인 "범프"를 발생시킬 수 있다는 것이다.[2]
다이아몬드 격자 셀 - 대체 큐브 슬라이싱 방법
메싱될 정사각형 세포는 또한 (다이아몬드 입방체) 격자를 기본으로 하여 [3]5개의 정사각형으로 잘라낼 수 있다. 정육면체는 각 면에 정사각형의 중심을 중심으로 사면체의 반대 정렬을 하는 다른 면과 결합된다. 교대 정점은 그 위에서 교차하는 4차 정점의 개수가 달라 위치에 따라 약간 다른 메쉬가 생긴다. 이런 식으로 자르면 대칭 면들이 추가로 제공된다; 입방체의 중심 주위에 4면체를 갖는 것은 또한 표면 바깥에 있는 점 주위에 매우 열린 공간을 생성한다.
다이아몬드 큐빅은 다양한 시각화를 가지고 있다. 빈 세포 대신 모든 세포에 내부 사면체를 번갈아 넣어 채워야 한다. 큐브에 새겨진 각 4면체의 경우, 정사각형의 정점과 정사각형의 면을 가로지르는 가장자리를 사용하여, 정사각형은 4점을 점유하고, 나머지 4점은 역 사면체의 모서리를 형성하며, 정사각형 셀은 세포의 위치(x+y+z+...)가 홀수되도록 타일을 두르고, 그렇지 않으면 반전된 것을 사용한다.타원은 교차로를 계산하기 위해 다른 대각선을 사용한다.
공간 텍스쳐 시스템에[4] 기초한 색의 계산은 현재 파편 위치를 사용하여 텍셀_(그래픽) 좌표(x,y), (y,z), (x,z) 쌍에 기초한 반복 텍스처 중에서 선택하고 각각 정상 z, x, y의 각 성분의 절대값으로 그러한 값을 스케일링하는 작업을 수행할 수 있다. 텍스처 디클링은 현재 파편의 위치를 스티커 정상 방향으로 원점 및 정상점에 의해 주어진 텍스처 평면에 투영한 다음 '위' 또는 '우' 방향 벡터를 사용하여 텍스처 좌표를 계산함으로써 텍스처_스플래팅으로 적용할 수 있다.
이 기법은 잠재적인 기법으로 Isosurface에 열거된 이중 윤곽과 더 밀접하게 비교될 것이다. DCL 테트라헤드라는 입방체 전체에 걸친 대각선에 대한 추가 계산을 포함하며, 이중 윤곽은 그렇지 않다. 또한 이 기법은 표면에서 '내부'에 가까운 두 지점이 결합된 거리 < 1>인 경우 설명하지 않았다. 여기서 표면은 1 대신 가장자리에 두 점을 생성해야 한다. 관련 변경은 다지관 이중 등고선이다.[5]
참고 항목
참조
- ^ 도이 아키오, 코이데 아키오. "사면세포를 이용한 등가치의 지표면 삼각측정의 효율적 방법." IEICE 정보시스템 거래, VolE74-D 1호, 1991년
- ^ Charles D. Hansen; Chris R. Johnson (2004). Visualization Handbook. Academic Press. pp. 9–11. ISBN 978-0-12-387582-2.
- ^ d3x0r (14 April 2020). "Github Project - Marching Diamond Lattice Tetrahedra". GitHub.
- ^ d3x0r (22 April 2020). "Github Project - Isosurface Multi-Texturing". GitHub.
- ^ Lin X (30 Dec 2015). Manifold Dual Contouring.
외부 링크
- 적응형 사면체를 이용한 암묵적 표면의 시각화 (Heinrich Muller, Michael Wehle)
- Mikolalysenko에 의한 Isosurface 생성기로, 알고리즘 중 하나로 Marching Tetraedra를 포함한다.
- Mikolalysenko의 Isosurface 발생기 이후 추가 알고리즘(WebGL)으로 DCL Marching Tetraedra.
- DCL Marching Tetrahedra(WebGL2)에 복셀 타입에 따른 공간 텍스처를 더한 Mikolalysenko의 Isosurface 생성기
- 정규화된 행군 사트라헤드라: 향상된 ISO 표면 추출