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

Aktuelle Zeit: Do Jul 17, 2025 19:34

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Position und Blickwinkel festlegen
BeitragVerfasst: Do Feb 10, 2005 15:58 
Offline
DGL Member

Registriert: Mo Jan 24, 2005 15:55
Beiträge: 28
Wohnort: Biberach an der Riß
Hallo!
Hab ne Frage:
Wie kann ich bei OpenGl meine Position (x,y,z) und meinen Blickwinkel (also in welche Richtung, und ob nach oben oder unten...) festlegen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 16:05 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
gluLookAt...

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 16:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Für Infos dazu mal in unserem Wiki gucken: http://wiki.delphigl.com/index.php/GluLookAt

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 16:30 
Offline
DGL Member

Registriert: Mo Jan 24, 2005 15:55
Beiträge: 28
Wohnort: Biberach an der Riß
und wie kann ich die entsprechenden aktuellen Werte auslesen? Das heißt z.B. die Position an der ich mich gerade befinde usw.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 16:39 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das hat wohl dann was mit Mathematik zu tun. Schätze du musst dir mit glGet(GL_MODELVIEW_MATRIX) die Matrixholen und dann mit (0,0,0) multiplizieren.
Aber das is jetzt nur so ne Idee. :x

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 10, 2005 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Oder du nutzt Trick 17 und merkst es dir einfach in ner Variablen, das geht schneller und ist leichter :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 14, 2005 12:57 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Wenn du es aber doch mathematisch willst: Die Position steht in der vierten Spalte der Modelview Matrix. Musst den Vektor aber negieren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 14, 2005 16:39 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Stimmt aber die Blickrichtung ist dann die Fleißarbeit. 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 14, 2005 21:19 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Die Rotationsmatrix, die die Blickrichtung beinhaltet ist die obere linke 3x3 Matrix in der Modelviewmatrix - zumindest, wenn man nicht skaliert. Wenn man nur die Blickrichtung haben will, kann mans mit dem Vektor (0, 0, -1) bzw. (0, 0, -1, 0) multiplizieren, je nachdem, ob man nur die Rotationsmatrix nimmt, oder die ganze Modelviewmatrix. Der UpVektor geht ähnlich: (0, 1, 0) bzw. (0, 1, 0, 0).

Fleißarbeit isses also nicht wirklich...

AL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Feb 14, 2005 21:45 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
AL hat geschrieben:
Fleißarbeit isses also nicht wirklich...

Es geht noch einfacher, denn die Bilder der Einheitsvektoren kann man direkt aus der Matrix ablesen - willst du also wissen, wie der Up-Vektor (0,1,0) gedreht wird, betrachte die Linke-Obere 3x3 Matrix und lies die 2. Spalte von Oben nach unten. Entsprechend sieht es für (1,0,0) aus. Nehme hier die 1 Erste Spalte und für (0,0,1) die Dritte. Multiplikation der Vektoren mit der Matrix ist also gar nicht nötig. Bei so einfachen Matrizen, wie Rotatiosnmatrizen gibt es übriges einige kleine Helferlein, so z.B. auch wenn man die Matrix invertieren möchte...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 15, 2005 12:50 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Sobald aber zu der Rotation noch Spiegelungen, Skalierungen und Scherungen hinzukommen siehts finster aus. (Dachte ich jedenfalls) Da muss man dann tatsächlich rechnen. Also solange kein glScale benutzt wurde stimm ich zu, aber nicht immer is das der Fall.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 15, 2005 14:57 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Darauf läufts hinaus. Musst nur aufpassen, dass die Blickrichtung in OGL in (0, 0, -1) Richtung verläuft.

Zitat:
und für (0,0,1) die Dritte.


musst also die dritte Spalte nehmen und negieren.

Und skalieren sollte man bei der Betrachtungsmatrix sowieso vermeiden - Spiegelungen dagegen sind in Ordnung.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]