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

Aktuelle Zeit: Fr Jul 18, 2025 11:55

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Apr 03, 2005 17:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jun 09, 2003 16:47
Beiträge: 35
Wohnort: Bielefeld
Hi@ll

Ich hab ein OpenGL-Fenster und möchte wissen, was die äussersten sichtbaren koordinaten sind.

gegeben ist die Tiefe mit a

glTranslatef(0,0,a);

Ich hab also eine Ebene und möchte wissen welche punkte der ebene noch sichtbar sind.

Kann mir da einer helfen?

_________________
Ich bin n00b und das ist auch gut so!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 03, 2005 23:03 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Das würde mich jetzt auch nochmal interessieren. Wenn hier mal jemand die rechnung hinschreibt, wäre das klatt ne Sache ums ins Wiki zu stellen. (Brauch man ja z.B. beim Idealen rauszoomen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 03, 2005 23:25 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
am einfachsten zu erklären ist das, wenn man weis, wie die projektionsmatrix erzeugt wird. Etwa ob ihr glFrustum verwendet - das ist dann auch gar nicht so schwer zu erklären und nur ein linearer Zusammenhang. Dann verratet mal, für welche Art Projektion ihr euch eine Erklärung wünscht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 03, 2005 23:41 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die orthogonale bitte... :mrgreen: ne scherz...

Die normale Perspektivprojektion wär Cool. Wenn dus für alle weißt dann schreibs ruhig auch noch für Parallelprojektion und was du sonst noch weist (Wie macht man eigentlich ne Parallelprojektion in OpenGL?)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 04, 2005 11:52 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Habe mich entschlossen, ein Bildchen zu malen. Hoffe ihr könnt meine Schrift lesen ;-) Zwei Bildchen: Eines als Schrägbild, das andere Flach von Oben. Die bekannten Frustum Parameter sind: left, right, top, bottom und d als Abstand der near Clipping Plane. x ist Entfernung. Die Maximalen ausdehnungen sind dann left(x), right(x), top und bottom entsprechend. So sind schnell die maximalen Koordinaten gefunden.

Das ganze Bezieht sich natürlich auf die Koordinaten, die entstehen, wenn man ein Vertex mit der Modelviewmatrix multipliziert hat, aber wenn ich das richtig interpretiere, sit es anders gar nicht gewünscht.

EDIT:
Ach ja, die gluProjection Parameter muss man natürlich für glFrustum umrechnen, wenn man es denn braucht: Aus dem Stereo Tutorial:

Code:
  1.  
  2. var
  3.   SVerh, ROeffnung : Single;
  4.   Breitenhaelfte, NeardZielweite : Single;
  5.   left, right, top, bottom : Single;
  6.  
  7.   procedure CalcValues;
  8.   begin
  9.     ROeffnung := DegToRad(Oeffnungswinkel / 2);
  10.     Breitenhaelfte := zNear * Tan(ROeffnung);
  11.     NeardZielweite := zNear / Zielweite;
  12.   end;
  13.  
  14. begin
  15.   glViewport(0, 0, ClientWidth, ClientHeight);
  16.   //Projektionsmatrix resetten
  17.   glMatrixMode(GL_PROJECTION);
  18.   glLoadIdentity();
  19.   //Perspektivische Darstellung
  20.   SVerh := ClientWidth/ClientHeight;
  21.   CalcValues;
  22.   left := - SVerh * Breitenhaelfte;
  23.   right := SVerh * Breitenhaelfte;
  24.   top := Breitenhaelfte;
  25.   bottom := -Breitenhaelfte;
  26.   glFrustum(left, right, bottom, top, zNear, zFar);
  27.  
  28.   glMatrixMode(GL_MODELVIEW);
  29.   glLoadIdentity;
  30. end;
  31. ...
  32.  


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 04, 2005 20:53 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
das nenne ich mal... zeit für eine antwort genommen...hast du die linien mit lineal gezogen... ;) man o man
RESPEKT


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 04, 2005 21:02 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
nein, ich wollte nur nicht das schlafengehen hinauszögern. und ja, ich benutze lineale, aber gelegentlich auch keines und das fällt dann meist gar net auf :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mai 27, 2005 17:46 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 13, 2004 17:17
Beiträge: 43
Wohnort: GER/OBB/TÖL-WOR/Icking
Flash hat geschrieben:
(Wie macht man eigentlich ne Parallelprojektion in OpenGL?)

Parallelprojektion = Orthogonal !!!
Parallelprojektion heisst, dass die sichtstrahlen Paralell sind und nicht ausseinanderlaufen:


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.008s | 16 Queries | GZIP : On ]