Ich versuche eine 2-D schnelle Kollisionserkennung mit Quad-Tree zu implementieren.Können wir Quad-Tree auf ein nicht quadratisches Rechteck anwenden?
AFAIK, Quad-Tree unterteilt eine Region in 4 Teilregionen, Nordwesten, Nordosten, Südosten und Südwesten. Diese Aufteilung funktioniert perfekt mit einem Quadrat. Aber was, wenn die Region ein nicht-quadratisches Rechteck ist? In diesem Fall können wir die lange Kante und die kurze Kante nicht gleichmäßig teilen, und die kurze Kante bestimmt, wie weit wir teilen können.
Bin ich richtig? Soll das so sein?
Gibt es einen Grund, warum Sie keinen quadratischen Quadtree verwenden können, dessen Seiten so lang sind wie die längste Seite Ihres Rechtecks? Es wird nie etwas im leeren Raum geben, aber das sollte ein vernachlässigbarer Overhead sein. –
Sie meinen, fügen Sie etwas Polsterung hinzu. Das ist eine gute Idee. Aber was ist mit einer Region in willkürlicher Form? Soll ich es so klein wie möglich in ein Quadrat einschließen? – smwikipedia
Das ist die Idee! Der Quadtree funktioniert immer noch genauso, wenn er einen beliebigen Raum einschließt. –