IT-lexicon › Programmeren › Surface area heuristic (SAH)

Surface area heuristic (SAH)

Programmeren Svenska → Bijgewerkt: 2026-10-26

Een kostenmodel dat bepaalt waar een versnellingsboom wordt gesplitst, door de kans dat een straal elke tak raakt af te wegen tegen het aantal objecten erin.

Bij het bouwen van een BVH of een kd-tree moet elke knoop ergens worden gesplitst. SAH kiest de splitsing die de verwachte doorlooptijd minimaliseert: de kans dat een willekeurige straal een kindknoop raakt, is evenredig met de oppervlakte van die knoop, dus de kosten worden het oppervlaktedeel maal het aantal objecten in het kind, opgeteld over de kinderen.

Het idee gaat terug op Goldsmith en Salmon (1987) en werd de standaard voor raytracing. Elke mogelijke splitsing evalueren is duur, dus bouwers gebruiken binning: objecten worden over een handvol bakken verdeeld en alleen de grenzen daartussen worden getest. Het resultaat zijn bomen die merkbaar sneller te doorlopen zijn dan met naïeve mediaansplitsingen.

← Terug naar het lexicon