PDA

View Full Version : 3d: CSG+Octree


Filz
27-01-2003, 00:18
Prüfung vom 28.03.2000 Bsp 2

(siehe Anhang)

geg ist CSG Baum, Objekte sind Quader
(obj1+obj2) - obj3

Filz
27-01-2003, 00:26
Ist ein bisserl bescheuert das zu zeichnen und auszurechnen - hat das schon jemand probiert?

Vom Octree ist nur der erste Teil betroffen (also 0-3), Rest bleibt "weiß"

obj1 hat mit obj2 ein Kasterl (32/32/0 bis 48/48/16) gemeinsam und beide werden vereinigt.
obj3 schneidet ein Kasterl(Würfel) aus obj2 (32/48/16 bis 48/64/32)

magic7
27-01-2003, 01:00
Ich bin gänzlich anderer Meinung:

Gesucht ist zuerst einmal die Vereinigung von obj1 und obj2. Also beide zusammen = objx
Dann nimmt man obj3 und schneidet das objx daraus heraus. Was von obj3 übrig bleibt,
ist das Ergebnis.

Imo bleibt über: (48,48,16),(64,64,64)

Ohne Gewähr, bin übermüdet...

'Nacht
-Markus

Filz
27-01-2003, 02:03
Okay, zum ersten: hab mich schlecht ausgedrückt, wollt eigentlich nur sagen, dass wenn man die zwei Objekte 1 und 2 vereinigt, die Vereinigung (X) diesen Würfel "doppelt", aso von beiden Quadern hat.

Und zum zweiten, das ist eine Frage der Definition, wie du den Baum liest: ob du rechts von links abziehst, oder links von rechts. Da gibts im Buch keine gute Definition.

Ich halte mich da an das (offizielle?) mathematische Modell links - rechts...

moresun
27-01-2003, 02:15
Zeichenerklärung: 0 - 1 im Unerwürfel 1 wird der 1.Unterwürfel gefüllt
Achtung schaut auf die Achsenbeschriftung y geht nach unten

Obj1:
0 - 2
1 - 3
2 - 0
3 - 1

Obj2:
2 - 0,3,4,7

Obj3:
2 - 6,7
5 - 2,3,6,7

(obj1+obj2)-obj3:
0 - 2
1 - 3
2 - 0,3,4
3 - 1

Filz
27-01-2003, 02:16
Doch steht eh in den Folien:
http://www.cg.tuwien.ac.at/courses/CG/slides_2002/10_3D_Object_Representations.pdf

Seite 9:

[op]
/\
A´ `B

ist A op B

Filz
27-01-2003, 02:20
Ich glaub der Fehler liegt bei mir, bin mit der Nummerierung durcheinandergekommen... Ich rechne gleich mal nach

Filz
27-01-2003, 02:23
stimmt, du hast recht, ich hab mit
01
23
beschriftet - wird gleich ausgebessert

magic7
27-01-2003, 10:48
Zur Reihenfolge:

Buch S. 358, Figur 10-59

da steht obj2 - obj1 und oben in der Skizze ist obj2 im rechten Ast.


Liebe Grüße
-Markus

magic7
27-01-2003, 10:51
filz schrieb:

Okay, zum ersten: hab mich schlecht ausgedrückt, wollt eigentlich nur sagen, dass wenn man die zwei Objekte 1 und 2 vereinigt, die Vereinigung (X) diesen Würfel "doppelt", aso von beiden Quadern hat.


Wie immer Du das ausdrückst, aber das neue object besteht aus der Zusammensetzung beider objekte. Auch wenn ich jetzt (imo nicht richtig) objx-obj3 rechne, kommt was anderes raus als bei Dir.
Gib doch mal obj1+obj2 und dann obj3-... bzw. ....-obj3 in Koordinatenschreibweise an!

Liebe Grüße
-Markus

Filz
27-01-2003, 11:37
Original geschrieben von magic7
Zur Reihenfolge:

Buch S. 358, Figur 10-59

da steht obj2 - obj1 und oben in der Skizze ist obj2 im rechten Ast.


Schon, aber für dieses Bild obj1=Kreis, obj2=Quadrat ist kein Baum angegeben, da gehts nur um die Tabelle von Ein/Austrittspunkt, wenn man es Quadrat - Kreis schneidet.

Der große Baum oben (Abb 10-57) ist meiner Meinung nach nur allgemein und hat nichts mit dem Bild unten zu tun.

magic7
27-01-2003, 11:42
Da könnte man dann wohl mit arglistiger Täuschung argumentieren :)

Liebe Grüße
-Markus

Kenny
27-01-2003, 12:34
wie hast du das gemacht?

ich kann mir irgendwie nicht vorstellen, wie obj1 , 2 und 3 da liegen, und in welchen kasterln sie einander schneiden ?

hab ich denn absolut kein räumliches vorstellungsvermögen ?

magic7
27-01-2003, 12:43
Bin zwar nicht filz...

Ich hab den Würfel gezeichnet, dann x,y Koord. mit angedeuteten z Koordinaten von obj1, obj2, dann obj3 dazu und überlegt was überbleibt.

@filz

Hast recht, in den Folien ist eindeutig die Reihenfolge anders, also (obj1+obj2) - obj3.

lg
-Markus

Filz
27-01-2003, 13:24
Hab auch lang gesucht, bis ich das gefunden habe...

@Kenny - Ich habs auch gezeichnet und überlegt was übrig bleibt.
Du brauchst einen Würfel mit Kantenlänge 4 (also 4 mal 16 Einheiten)
und zeichnest dann die Quader rein.

Oder du machst es wie moresun und berechnest für jedes Objekt einen Octree, und kannst dann mit den Octrees einfach (also jeweils Knoten für Knoten) rechnen

Filz
27-01-2003, 13:30
Vielleicht hilft das:

rot: Objekt1
blau: Objekt2

werden vereinigt

und obj3 schneidet dann davon den durchgestrichenen Würfel weg.

magic7
27-01-2003, 15:46
Stimmt.

Imo ;)

-Markus