IT-lexikon › Programmering › Marching cubes

Marching cubes

Programmering In English → Uppdaterad: 2026-10-24

En algoritm som förvandlar ett 3D-skalärfält till en polygonmesh genom att kub för kub avgöra var en yta korsar rutnätet.

Marching cubes, publicerad av Lorensen och Cline på GE 1987, extraherar en yta (en "isoyta") ur volymdata. Den vandrar genom ett 3D-rutnät en kub i taget; var och en av de åtta hörnen är innanför eller utanför ytan, vilket ger 256 fall (reducerade med symmetri till 15) som via en uppslagstabell mappas till en uppsättning trianglar trädda genom kuben. Hopfogade bildar kuberna en sammanhängande mesh.

Född för medicinsk och vetenskaplig visualisering (DT- och MR-skikt) blev den standardsättet för spel att bygga mesher ur voxel- eller signed distance-data — förstörbar terräng, mjuka voxelvärldar, metabollar. Till skillnad från en höjdkarta klarar den grottor och utskjut eftersom den arbetar på en hel volym, inte en höjd per kolumn. LOD-scheman varierar kubstorleken med avståndet.

← Tillbaka till lexikonet