Seite 1 von 1

Octree

Verfasst: 7. Dez 2011 21:56
von ut53xuco
Hi,

Ich glaube ich vertehe den Octree nicht ganz.
Meine Theorie:
Also man fügt das erste Objekt in den Octree ein.
Dann nimmt man sich das nächste Objekt und will es jetzt auch in den Octree einfügen, merkt aber "huch, da ist ja schon ein Objekt drin". Jetzt muss man den Raum in 8 Teile unterteilen und hat 8 neue Octrees. Bei jedem dieser neuen Octrees wird überprüft ob die Objekte alleine sind, wenn nein, noch eine Unterteilung, das so weiter bis jeder Raum des Octrees nur noch ein Element enthält. Stimmt das so?

Wenn noch ein Element hinzu kommt, selbes Prozedere?

Werden min und max selber gewählt oder vorgegeben?
Was wenn das Objekt nicht in den Octree-Raum passt?

Re: Octree

Verfasst: 7. Dez 2011 23:28
von mrzb6
Jetzt muss man den Raum in 8 Teile unterteilen und hat 8 neue Octrees.
So halb. Der Tree wird in acht Teile unterteilt, womit sich (vorerst) acht Blätter im Baum bilden. Sollten zwei Objekte im selben Achtel landen, muss erneut geteilt werden.
Wenn noch ein Element hinzu kommt, selbes Prozedere?
Ja, dann muss auf der obersten Ebene des Trees begonnen werden, das Element einzusortieren.
Werden min und max selber gewählt oder vorgegeben?
Ich nehme mal an, dass du minAABB und maxAABB meinst, die werden einfach im Konstruktor übergeben.
Was wenn das Objekt nicht in den Octree-Raum passt?
Die Aufgabenstellung besagt:
Wenn ein FiniteShape mehrere Raumvolumina schneidet, muss er in die Blätter aller geschnittenen Raumvolumina eingefügt werden.
Damit wäre nur ein Teil des Objekts im Octrees, dafür aber an mehreren Stellen. Angenommen, das Objekt umschließt den Octree-Raum vollständig, dürfte es keine weiteren Objekte mehr geben, weil das sonst dieser Weisheit widerspräche:
Es kann davon ausgegangen werden, dass die gesamte Szene disjunkt ist, d.h. dass keins der einzufügenden Objekte ein anderes schneidet.

Re: Octree

Verfasst: 8. Dez 2011 10:40
von ut53xuco
Aber angenommen man wählt seinen Raum kleiner als das erste Objekt dass man einfügen möchte.

Und wenn ein Objekt in mehreren Teilen liegt, wie betrachtet man das?
Ich würde jetzt so vorgehen und schauen ob sich der Teilraum und das jeweilige Objekt schneidet und wenn sich der selbe Teilraum auch noch mit dem 2. Objekt schneidet unterteilt man, sonst nicht. Dann wäre es auch egal ob ein Objekt nur teilweiste in dem Raum liegt oder ganz, oder? :|

Re: Octree

Verfasst: 8. Dez 2011 10:48
von mw1039
ut53xuco hat geschrieben:Dann wäre es auch egal ob ein Objekt nur teilweiste in dem Raum liegt oder ganz, oder?
Ein Objekt liegt in einem Raum, wenn das Objekt den Raum schneidet. Der Schnitt ist unabhaengig davon, ob das Objekt nur teilweise oder ganz drinliegt. Siehe Aufgabenstellung:
Zwei Shapes überlappen auch dann, wenn der eine komplett innerhalb des anderen liegt.

Re: Octree

Verfasst: 8. Dez 2011 19:35
von ut53xuco
Was empfiehlt sich zum speichern?