IT-lexikon › Programmering › Dual contouring

Dual contouring

Programmering In English → Uppdaterad: 2026-10-24

En algoritm för att extrahera en isoyta som, till skillnad från marching cubes, placerar hörn inuti cellerna med hjälp av ytnormaler och därför klarar skarpa kanter och hörn.

Publicerad av Ju, Losasso, Schaefer och Warren 2002. I stället för att lägga hörn på rutnätets kanter placerar dual contouring ett hörn per cell — på det "duala" rutnätet — i den punkt som minimerar en kvadratisk felfunktion (QEF) över skärningspunkterna och deras normaler. Dessa normaler, så kallad Hermite-data, är nyckeln: de berättar åt vilket håll ytan lutar, så en vass kant kan återges exakt i stället för att rundas av.

Marching cubes rundar nämligen av just de kanterna, eftersom den saknar riktningsinformation. Dual contouring används därför till voxel-terräng med hårda kanter och till CSG-operationer där man skär och fogar fasta kroppar. Priset: den kan ge icke-manifold geometri och kräver att normaldata finns tillgänglig. Dess tvådimensionella motsvarighet löser samma problem i planet.

← Tillbaka till lexikonet