2014-06-18 7 views
1

둥근 날카로운 기하학을 지원하는 팔각형 또는 배열의 복셀 청크에서 등각 표면을 생성해야합니다. 필자는이 작업을 완료 할 수있는 알고리즘을 검색하여 Dual Contouring, Extended Marching Cubes 및 Dual Marching Cubes를 비롯한 여러 가지를 발견했습니다. 그러나 처음 두 개는 엄청난 메모리 낭비처럼 보이는 Hermite 데이터를 필요로합니다. 또한, 나는 이들 중 어느 것에 대해서만 실제 알고리즘을 찾을 수없고, 저널과 애매한 설명의 방정식 만 찾을 수 있습니다. 내 문제를 해결할 수있는 알고리즘을 찾는 데 도움을 주시면 매우 감사하겠습니다.Sharp Isosurface Extraction from Voxels

+0

나는 이해하지 못한다 : afaik, 그 기술들은 당신이 쉽게 수학 함수에서 렌더링 가능한 chunck들을 추출하도록 해준다. 하지만 이미 이산 값을 가지고 있습니다. 당신은 실제로 당신이 이미 가지고있는 모든 점들을 통과하는 이상적인 곡선에 가까운 곡선을 따라이 점들 사이의 공간을 채우는 방법을 찾고 있습니까? – didierc

+1

보셀로부터의 등각 투영 추출은 같은 방법으로 수행되지만, 신중한 좌표 (보셀)로 함수를 지정합니다. 가장 잘 맞는 곡선은 Marching Cubes와 비슷하지만 날카로운 모서리를 지원하지 않습니다. Dual Marching Cubes에 대해서는 확신하지 못합니다. 그러나 Extended Marching Cubes는 Dual Contouring과 유사하며 그것을 사용하는 복셀에서 등각 투영을 추출하는 데 대한 수많은 참조가 있습니다. [예 1] (https://upvoid.com/devblog/2013/05/terrain-engine-part-1-dual-contouring/) [예 2] (http://procworld.blogspot.com/2010 /11/from-voxels-to-polygons.html) @didierc – user3736210

답변

3

언급 한 것들이 가장 눈에 띄는 것들입니다. 그러나 그들도 몇 가지 제한이 있음을 명심 :

마칭 큐브 (EMC)이 확장 - 고려에 의해 날카로운 기능을 보존 샘플 법선 (과 법선 따라서 그라데이션),이 방법은 그러나 아직 아니다 (홈 변형), 적응 최적화 (메쉬 간소화)를 허용하지 않으며 셀 간 종속성을가집니다 (가장자리 뒤집기 프로세스로 인해 GPU 가속을 허용하지 않음).

이중 컨투어링 (DC) - 샤프한 피처를 보존하고 적응 적으로 세련 될 수 있지만 셀 간 종속성을 가지며 비 매니 폴드 메쉬도 생성합니다.

듀얼 마칭 큐브 (DMC)는 - 다기관 메쉬 (모호함을 처리) 또한, 적응 정련을 허용하지만 여전히도 셀간 의존성 앓고 (이 이중성이기 인해)과 날카로운 기능을 보존하고, 생성 정점을 반올림하는 슬라이 버 제거 프로세스로 인해 정확하지 않습니다. (오류는 무시할 수 있습니다.)

완전히 다른 기술뿐만 아니라 다른 가능한 조합도 있습니다. 그럼에도 불구하고 Cubical Marching Squares (CMS)을 살펴 보시기 바랍니다. 나는 현재 그것을 구현하기를 희망하면서 그 주위에 머리를 쓰려고 노력 중이다. 온라인 구현이 너무 많지 않습니다. 그러나 그것은 여전히 ​​Hermite Data (내가 말할 수있는 한 당신에 관한 것)와 함께 작동합니다.