Testen Sie, ob der Punkt in manchen Rechteck

Ich habe eine große Sammlung von Rechtecken, die alle die gleiche Größe. Ich bin Generierung von Zufallszahlen Punkte, die nicht fallen in diese Rechtecke, also, was ich tun möchte, ist zu testen, ob der erzeugte Punkt liegt in einem der Rechtecke, und wenn es das tut, erzeugen Sie einen neuen Punkt ein.

Verwendung von R-Bäumen zu arbeiten scheinen, aber Sie sind eigentlich für Rechtecke und keine Punkte. Ich könnte mit einer modifizierten version eines R-Baum-Algorithmus, das funktioniert mit den Punkten zu, aber ich möchte lieber nicht das Rad neu erfinden, wenn es schon einige bessere Lösung. Ich bin nicht sehr vertraut mit Daten-Strukturen, also vielleicht es gibt schon eine gewisse Struktur, die funktioniert für mein problem?

In der Zusammenfassung, im Grunde, was ich Frage, ist, ob jemand weiß, von einem guten Algorithmus, das funktioniert in Python, das kann verwendet werden, um zu überprüfen, ob ein Punkt liegt in jedes Rechteck in einem gegebenen Satz von Rechtecken.

edit: Das ist in 2D, und die Rechtecke sind nicht verdreht.

Sind die Seiten der Rechtecke ausgerichtet mit der Achse an, oder sind Sie orientiert an beliebigen Winkel zu den Achsen?
Sie sind alle ausgerichtet, keine rotation oder etwas Phantasie, wie
tun die Rechtecke überlappen?
Ja, es ist durchaus möglich, dass sich die Rechtecke überlappen

InformationsquelleAutor pafcu | 2009-12-13

Schreibe einen Kommentar