May 2024
Made with Python

Informal Abstract

Marching cubes (MC) is a well-known algorithm for constructing meshes out of surface information, and is commonly used in procedural terrain generation in games (like Astroneer). In this project, we survey the history of MC and the broader field of isosurface extraction. We then show an implementation of Dual Marching Cubes (DMC), an extended method which is more memory efficient, smoother, and more adaptable than MC. Finally, we propose a modification to DMC, which we dub Normal Vector Variance (NVV), and show that it achieves higher memory efficiency while also capturing fine details better than DMC.

Keywords: marching cubes, quadtree, isosurface extraction, feature extraction, quadric error metric

NVV improves mesh quality by allocating more resolution to areas with high-frequency details.