Bounding Volume: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung |
LeonH (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Ein Bounding Volume<ref>[[wikipedia:de:Bounding_Volume|Wikipedia Artikel]] zu Bounding Volumes</ref> ist ein einfacher geometrischer Körper, der ein komplexeres Objekt umschließt. | Ein Bounding Volume<ref>[[wikipedia:de:Bounding_Volume|Wikipedia Artikel]] zu Bounding Volumes</ref> ist ein einfacher geometrischer Körper, der ein komplexeres Objekt umschließt. | ||
Bounding Volumes werden dazu verwendet um bestimmte Tests zu beschleunigen. So kann man z.B. beim [[Ray Tracing]] zuerst über den Schnitt mit den Bounding Volumes der Objekte testen, ob sie überhaupt getroffen werden können, bevor man z.B. für ein genaueres Ergebnis die einzelnen Triangel der Objekte testet. Ähnlich funktioniert dies auch für eine | Bounding Volumes werden dazu verwendet um bestimmte Tests zu beschleunigen. So kann man z.B. beim [[Ray Tracing]] zuerst über den Schnitt mit den Bounding Volumes der Objekte testen, ob sie überhaupt getroffen werden können, bevor man z.B. für ein genaueres Ergebnis die einzelnen Triangel der Objekte testet. Ähnlich funktioniert dies auch für eine Kollisionserkennung, wenn sich die Bounding Volumes zweier Objekte nicht schneiden, dann können auch die Objekte nicht miteinander kollidieren. | ||
== Varianten == | == Varianten == | ||
[[Image:bv_bsphere.png|thumb|right|Bounding Sphere eines Kaktus]] | [[Image:bv_bsphere.png|thumb|right|Bounding Sphere eines Kaktus]] | ||
* '''Bounding Sphere:''' Eine das Objekt umgebende Kugel (oder in 2D ein Kreis). Für Bounding Spheres gibt es in XNA die BoundingSphere [[Struct]] | * '''Bounding Sphere:''' Eine das Objekt umgebende Kugel (oder in 2D ein Kreis). Für Bounding Spheres gibt es in XNA die BoundingSphere<ref>[https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/bb195173(v=xnagamestudio.35) MSDN Artikel] zur BoundingSphere Structure</ref> [[CSharp#Structs|Struct]]. Eine Bounding Sphere wird durch ihren Center-Punkt und ihren Radius definiert. Der Vorteil von Bounding Spheres ist, dass Kollisionen sehr schnell berechnet werden können. | ||
<br clear="All"> | <br clear="All"> | ||
[[Image:bv_bbox.png|thumb|right|Bounding Box eines Kaktus]] | [[Image:bv_bbox.png|thumb|right|Bounding Box eines Kaktus]] | ||
* '''Bounding Box:''' Ein das Objekt umgebendes Quader (oder in 2D ein Rechteck). Der Vorteil von Bounding Boxen ist, dass sie Objekte meistens genauer umschreiben als Kugeln. Bei Bounding Boxen gibts es eine Unterscheidung zwischen Axis-Aligned Bounding Boxen (AABB) und Object Oriented Bounding Boxen (OOB). AABBs orientieren sich immer an den Axen des Koorinatensystems. Definiert sind sie entsprechend durch zwei Punkte, einen mit dem maximalen x-,y- und z-Wert und einen mit dem minimalen x-,y- und z-Wert. Für AABBs gibt es in XNA die BoundingBox [[Struct]] | * '''Bounding Box:''' Ein das Objekt umgebendes Quader (oder in 2D ein Rechteck). Der Vorteil von Bounding Boxen ist, dass sie Objekte meistens genauer umschreiben als Kugeln. Bei Bounding Boxen gibts es eine Unterscheidung zwischen Axis-Aligned Bounding Boxen (AABB) und Object Oriented Bounding Boxen (OOB). AABBs orientieren sich immer an den Axen des Koorinatensystems. Definiert sind sie entsprechend durch zwei Punkte, einen mit dem maximalen x-,y- und z-Wert und einen mit dem minimalen x-,y- und z-Wert. Für AABBs gibt es in XNA die BoundingBox<ref>[https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/bb195161(v=xnagamestudio.35) MSDN Artikel] zur BoundingBox Structure</ref> [[CSharp#Structs|Struct]]. OOBs orientiren sich wie der Name schon sagt direkt an ihren zugrunde liegenden Objekten. In XNA gibt es für sie standardmäßig keine Implementierung. Der Vorteil von AABBs ist, dass Kollisionen wesentlich einfacher berechnet werden können, ihr Nachteil ist dafür dass sie nicht mit Objekten mitgedreht werden können sondern neu berechnet werden müssen. | ||
<br clear="All"> | <br clear="All"> | ||
| Zeile 27: | Zeile 27: | ||
</div> | </div> | ||
<br clear="All" | <br clear="All"> | ||
== Referenzen == | == Referenzen == | ||
<references /> | <references /> | ||
[[Kategorie:Begriffe]] | [[Kategorie:Begriffe]] | ||
[[Kategorie:MS01]] | |||
[[Kategorie:MS02]] | |||
[[Kategorie:MS03]] | |||
[[Kategorie:MS04]] | |||
