Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Dez 21, 2024 15:28

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Frage zur ProjectionMatrix
BeitragVerfasst: So Feb 25, 2018 20:31 
Offline
DGL Member

Registriert: Di Feb 13, 2018 19:02
Beiträge: 24
Programmiersprache: Java
Hallo,

ich beschäftige mich gerade mit OpenGL und Matrizen. Die Modelview-Matrix habe ich verstanden. Durch Transformationen (wie z.B. Verschiebung, Rotation, ...) wird eine Matrix erstellt. Multipliziert man diese Matrix später mit einem Vertex, so wird das Vertex transformiert bzw. im Raum verschoben.

Die ProjectionMatrix verstehe ich allerdings nicht. Ich kenne zwar die Formel um sie zu berechnen, aber die Bedeutung der Matrix ist mir nicht klar. Im Endeffekt müsste diese Matrix doch auch eine Verschiebung der Vertices bewirken, oder?


Beispiel meiner ProjectionMarix:

// mProjectionMatrix
//
// 0.0 0.0 0.0 0.0
// 0.0 0.0 0.0 0.0
// 0.0 0.0 0.0 0.0
// 0.0 0.0 0.0 0.0

Matrix.orthoM( mProjectionMatrix, 0, 0.0f, breite, 0.0f, hoehe, -5, 5 );

// mProjectionMatrix
//
// 0.2 0.0 0.0 -1.0
// 0.0 0.1125 0.0 -1.0
// 0.0 0.0 -0.2 -0.0
// 0.0 0.0 0.0 1.0


Vielen Dank für eure Hilfe,

Gruß arenas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Frage zur ProjectionMatrix
BeitragVerfasst: Mo Feb 26, 2018 06:41 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 460
Programmiersprache: C / C++ / Lua
Schau dir im Wiki Mal die Matrix Tutorials an, da wird das erklärt.

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Frage zur ProjectionMatrix
BeitragVerfasst: Mo Feb 26, 2018 09:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 588
Programmiersprache: C++
Die Projektionsmatrix beschreibt das Frustum der Kamera. Also die Information, innerhalb welcher horizontalen und vertikalen Winkel Objekte sichtbar sein können. Außerdem die minimale und maximale Entfernung von Objekten zur Kamera. Alles, was außerhalb dieser Werte liegt, wird geclippt, also nicht dargestellt.

Etwas mathematischer: Ein Vertex, der von einer Projektionsmatrix transformiert und danach durch seine w-Komponente geteilt wurde, dessen xyz-Koordinaten liegen allesamt im Intervall von -1.0 bis 1.0, wenn und nur wenn er innerhalb des Frustums liegt. Liegt der Vertex zu weit rechts, wird seine x-Koordinate > 1.0. Zu weit unten wird die y-Koodinate kleiner als -1.0 und so weiter. Die w Komponente ist nach der Division natürlich 1.0.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 17 Queries | GZIP : On ]