Registriert: Mo Mai 06, 2002 20:27 Beiträge: 479 Wohnort: Bremen
so einfach ist das nicht. in opengl gibt es eine ganze reihe von matritzen... die wichtigste davon ist die modelview-matrix.
mit den befehlen glScale, glRotate, glTranslate etc wird diese verändert. Wenn du ein Object renderst so benutzt ogl die matrix um an die endgültigen Koordinaten der Vertice zu kommen.
Beispiel: Sagen wir du renderst eine Dreieck. Teil des Dreiecks ist der Vertex (1,1,1) - der würde ja bekanntliche vor der Matscheibe deines Bildschirms liegen. Du rufst vorher glTranslate(0,0,-5) auf und siehe da, du siehst das Dreick. Das liegt daran, dass der Befehl die Matrix manipuliert, darin quasi abspeichert: "Verschiebe alle Vertices vor dem Rendern um -5 auf der Z-Achse". Und die anderen Befehle machen das genauso...
Wie wendet man nun eine Matrix auf einen Vertex an? Ganz einfach... du mulitiplizierst den Vertex damit!
Ich hoffe das war eine kleine Einleitung... jetzt verweise ich auf Delphic's Mathe-Tut und auf mein Matrix-Tool (zu bekommen auf pixelpracht.flipcode.com unter OpenGL ganz unten)
Wenn es noch Fragen gibt (was ganz natürlich ist weil das Thema nicht ganz einfach ist) gibts ja noch dieses Forum =)
gut, ich hab jetzt die Ursprüngliche Position des Vertex' und die Matrix die auf das Vertex angewendet wird... jetzt möchte ich die neue, absolute position wissen... wie geht das?
oder eine andere Matrix:
(1, 0, 0, 3)
(0, cos(45°), -sin(45°), 1)
(0, sin(45°), cos(45°), 0)
(0, 0, 0, 1)
Das würde glRotate(45,1,0,0) entsprechen... und ich benötige ebenfalls wieder die absolute, neue Koordinate des Vertex
steht doch in meinem artikel, wie man eine matrix auf einen punkt anwendet, oder hab ich mich da undeutlich ausgedrückt.... ich glaub 2 mal hab ichs an nem Beispiel vorgerechnet und mehrmals die schöne formel hingeschrieben
ich weiß ja nich was du sonst vorhast.... wenn du eine nur rotationsmatrix auf 0 0 0 anwendest, bringt dich das natürlich nciht weiter, eine translationsmatrix verändert hingegen schon etwas - tut mir leid, dein eigentliches problem hab ich bislang nicht verstanden
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.