OcTree: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
LeonH (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Stub}}
{{löschen}}
Im Prinzip ein [[QuadTree]], der um eine Dimension erweitert wurde. Man kann sich einen OcTree<ref>[[wikipedia:de:Octree|Wikipedia Artikel]] zu OcTrees</ref> als Würfel vorstellen, der in acht gleichgroße Würfel unterteilt ist.
Im Prinzip ein [[QuadTree]], der um eine Dimension erweitert wurde. Man kann sich einen OcTree<ref>[[wikipedia:de:Octree|Wikipedia Artikel]] zu OcTrees</ref> als Würfel vorstellen, der in acht gleichgroße Würfel unterteilt ist.


== Implementierung in XNA ==
== Implementierung in XNA ==


Für die Implementierung eines Octrees in XNA kann man als Repräsentation der einzelnen Oktanden z.B. die BoundingBox [[Struct]] (Namespace Microsoft.Xna.Framework) von XNA benutzen. Diese eignet sich relativ gut, da sie eine Methode besitzt über die einfach abgefragt werden kann ob sich z.B. ein Punkt oder ein anderes [[Bounding Volume]] innerhalb oder außerhalb der Box befindet oder diese schneidet. Damit lässt sich die Einsortierung von Objekten relativ einfach implementieren. Ein weiterer Vorteil ist, dass man BoundingBoxen auch mit Strahlen schneiden kann. Dies erleichtert die Auswahl in Frage kommender Objekte beim [[Ray Casting]].
Für die Implementierung eines Octrees in XNA kann man als Repräsentation der einzelnen Oktanden z.B. die BoundingBox<ref>[http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.boundingbox.aspx MSDN Artikel] zur BoundingBox Structure</ref> [[CSharp#Structs|Struct]] von XNA benutzen. Diese eignet sich relativ gut, da sie eine Methode besitzt über die einfach abgefragt werden kann ob sich z.B. ein Punkt oder ein anderes [[Bounding Volume]] innerhalb oder außerhalb der Box befindet oder diese schneidet. Damit lässt sich die Einsortierung von Objekten relativ einfach implementieren. Ein weiterer Vorteil ist, dass man BoundingBoxen auch mit Strahlen schneiden kann. Dies erleichtert die Auswahl in Frage kommender Objekte beim [[Ray Casting]].<noinclude>


<noinclude>== Referenzen ==
== Referenzen ==
#[http://de.wikipedia.org/wiki/Octree Wikipedia Artikel] zu Octrees
<references />
[[Kategorie:Begriffe]][[Kategorie:Objektverwaltung]]
[[Kategorie:Begriffe]][[Kategorie:Objektverwaltung]]
</noinclude>
</noinclude>
[[Kategorie:MS02]]
[[Kategorie:MS03]]

Aktuelle Version vom 18. Oktober 2020, 14:00 Uhr

Im Prinzip ein QuadTree, der um eine Dimension erweitert wurde. Man kann sich einen OcTree[1] als Würfel vorstellen, der in acht gleichgroße Würfel unterteilt ist.

Implementierung in XNA

Für die Implementierung eines Octrees in XNA kann man als Repräsentation der einzelnen Oktanden z.B. die BoundingBox[2] Struct von XNA benutzen. Diese eignet sich relativ gut, da sie eine Methode besitzt über die einfach abgefragt werden kann ob sich z.B. ein Punkt oder ein anderes Bounding Volume innerhalb oder außerhalb der Box befindet oder diese schneidet. Damit lässt sich die Einsortierung von Objekten relativ einfach implementieren. Ein weiterer Vorteil ist, dass man BoundingBoxen auch mit Strahlen schneiden kann. Dies erleichtert die Auswahl in Frage kommender Objekte beim Ray Casting.

Referenzen

  1. Wikipedia Artikel zu OcTrees
  2. MSDN Artikel zur BoundingBox Structure