QuadTree: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Justus (Diskussion | Beiträge) K Die Seite wurde neu angelegt: {{:QuadTree/Einleitung}} |
LeonH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{:QuadTree/Einleitung}} | {{:QuadTree/Einleitung}} | ||
{{löschen}} | |||
Es kann durchaus sinnvoll sein, zu leere Quads wieder zu einem zusammenzufügen. Auch sollte man sich Gedanken machen, nach welchen Kriterium man Objekte in der Welt speichert. Da gibt es typischerweise drei Möglichkeiten: | |||
;Rein positionsbasiert | |||
:Da man die Positions und Größe jedes Quads kennt kann man relativ leicht prüfen, in welchen Quad ein Objekt liegt. | |||
;Position und Objektgröße | |||
:Man schiebt das Objekt in dem Baum so lange nach oben, bis es von den Ausmaßen vollständig in ein Quad passt. | |||
;Position und Objektgröße nur in Blättern | |||
:Man hat eine [[Referenz]] auf ein Objekt in allen Quads, die von einem Objekt berührt werden. | |||
{| cellspacing="0" cellpadding="1" border="1" | |||
|+ Vergleich | |||
|- | |||
| | |||
| Rein positionsbasiert | |||
| Position und Objektgröße | |||
| Position und Objektgröße nur in Blättern | |||
|- | |||
| [[Ray Casting|Raycast]] | |||
| schwer, da man alle Quads durchsuchen muss um sicher zu sein, daß man ein Objekt trifft | |||
| mittel, da man schauen kann, ob der Ray ein Quad trifft und nur diese anschauen muss | |||
| einfach, man kann die Quads nacheinander in der Richtung des Rays durchgehen | |||
|- | |||
| sichtbare Objekte suchen | |||
| schwer, da man alle Quads durchsuchen muss | |||
| einfach, da man prüfen kann, ob ein Quad sichtbar ist und dann nur die enthaltenen Objekte prüfen muß | |||
| mittel, da man auch prüfen kann, ob ein Quad sichtbar ist, man aber prüfen muß, ob ein Objekt in mehreren sichtbaren Quads liegt. | |||
|- | |||
| Objekte verschieben | |||
| sehr einfach, da man es direkt in das passende Quad legen kann | |||
| mittel, man muss wieder prüfen, ob das Objekt in das aktuelle Quad passt | |||
| schwer, man man alle berührten Quads aktualisieren muss | |||
|}<noinclude> | |||
== Referenzen == | |||
<references /> | |||
[[Kategorie:Begriffe]][[Kategorie:Objektverwaltung]]</noinclude> | |||
[[Kategorie:MS02]] | |||
[[Kategorie:MS03]] | |||
