PDA

View Full Version : [FRAGE] - modelMatrixPoint / modelMatrixVector


Saruman
26-10-2004, 14:51
ich hab da mal eine Frage:

Hier im Forum wird öfter erwähnt, dass man für die diversen Transformationen die vorher implementierten multLeft und multRight Funktionen von den modelMatrixPoint und modelMatrixVector Objekten aus auruft:

modelMatrixPoint.multLeft (new CG1Matrix4x4()...);
modelMatrixVector.multLeft (new CG1Matrix3x3()...);
// (bzw. multRight)

Was beinhalten diese Objekte, wann und wie werden sie erzeugt, wofür "stehen sie"?
Irgendwie steh ich voll auf der Leitung, hab schon das Buch, die .javas und die docu durchforstet, aber ich komm nicht drauf ...

Saruman
26-10-2004, 15:03
Ich Dodel, es steht ganz genau in den Tipps für Bsp 3.
Ignorierts mich einfach...

- TeMET_noSCE -
26-10-2004, 20:11
cooler thread! :applaus:

(ich darf nicht reden, ich häng grad voll bei 3B... :( )

Saruman
26-10-2004, 20:33
ja tut mir leid...:engel:
Hab halt nicht genau genug gschaut.

aber ich kann ihn nicht löschen...

Flowyes
27-10-2004, 01:33
Okay, wir können diesen Thread wieder sinnvoll machen. :verycool:

Ich hab ein eigenartiges Problem:

Also folgendes funktioniert:




3d files werden schön rotiert, verschoben und skaliert (sowohl mit der Maus (dragging) über den Canvas, als auch rechts mit den Button um die eigene Achse)
2d files haben auch überhaupt keine Probleme bei diesen Operationen, wenn ich doOnlyWorldTrans = true setze.


Viewing-Matrizen werden in Camera.java auch richtig verändert, Projektion auf das view plane ist auch richtig, device coordinates werden auch richtig berechnet.
Problem:

Wenn ich Coord. Cross button aktiviere, wird glaub ich nur das Weltkoordinatensystem angezeigt. So, wenn ich nur ein Objekt habe, das Weltkoordinatensystem anzeigen lasse und dann das Objekt z.B. um die x-Achse verschiebe, bleibt das Weltkoordinatensystem einfach stehen (es sollte sich die y-Achse des lokalen Koordinatensystems auch mitverschieben, oder?) Auch wenn ich dann weitere Objekte lade, hab ich nur das Weltkoordinatensystem angezeigt. Die lokalen Koordinatensysteme erscheinen nicht (so wie es auf diesem screenshot (http://www.cg.tuwien.ac.at/courses/CG/LU/screenshots/result_task3_2.png) der LU-Webseite ausschauen sollte)

Ich schreib das hier, weil ich glaub, dass ich ein Problem mit den modelMatrizen hab. Woran könnte mein Problem liegen?


edit: Das Problem hab ich mittlerweile beseitigt ==> alles im grünen Bereich. Ich hab einfach alle Matrizen in einem composite matrix zusammenmultipliziert, bevor ich transformPoints() aufgerufen hab. Dann hats funktioniert.