IT-lexikon › Programmering › Sweep and prune

Sweep and prune

Programmering In English → Uppdaterad: 2026-10-24

En bredfas-algoritm som sorterar objektens begränsningslådor längs varje axel och bara testar par vars intervall överlappar på alla axlar.

Att testa varje objekt mot varje annat är O(n²) och ohållbart med tusentals kroppar. Sweep and prune (även "sort and sweep") projicerar varje begränsningslådas start- och slutpunkt på x-, y- och z-axeln, sorterar listorna och sveper igenom dem; två lådor kan bara krocka om deras intervall överlappar på samtliga axlar. Resten gallras bort direkt.

Tricket är temporal koherens — mellan två bildrutor rör sig objekten lite, så de sorterade listorna är nästan redan sorterade och en insättningssortering blir närmast linjär. Metoden föddes i kollisionsbiblioteket I-COLLIDE av Ming Lin och Dinesh Manocha i början av 1990-talet och sitter i stort sett varje fysikmotor som en billig grovsållning före den dyra exakta fasen.

← Tillbaka till lexikonet