IT-lexicon › Programmeren › Separating axis theorem (SAT)

Separating axis theorem (SAT)

Programmeren Svenska → Bijgewerkt: 2026-10-24

Twee convexe vormen overlappen elkaar niet dan en slechts dan als er een as bestaat waarlangs hun schaduwen niet overlappen.

De stelling is een bijzonder geval van de scheidingsstelling voor hypervlakken uit de convexe meetkunde, en maakt botsingstests verrassend eenvoudig. Voor twee convexe veelhoeken volstaat het beide te projecteren op een eindige verzameling kandidaat-assen, de normalen van elke zijde, en te kijken of de intervallen op één van die assen een gat laten. Wie zo'n gat vindt, weet dat de vormen los van elkaar liggen en kan direct stoppen met zoeken.

SAT ligt ten grondslag aan een groot deel van de 2D-botsingsroutines in games, juist omdat het makkelijk correct te schrijven en te debuggen is: de scheidingsas is op het scherm te tekenen. In 3D groeit het aantal kandidaat-assen (zijde tegen zijde voegt uitwendige producten toe) en stappen veel ontwikkelaars over op GJK. Als bonus krijgt men bijna gratis hoeveel de vormen overlappen: de kleinste overlap over alle assen is de indringdiepte.

← Terug naar het lexicon