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

Aktuelle Zeit: Fr Jul 18, 2025 15:43

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Keine Tiefe und Problem mit Rotation
BeitragVerfasst: Sa Apr 29, 2006 11:01 
Offline
DGL Member

Registriert: Fr Apr 28, 2006 18:50
Beiträge: 4
Hallihallo

Ich hab mal begonnen, mich durch die Tutorials zu arbeiten und habe mich dann mit der "Sonnensystemaufgabe" vom 3ten Teil beschäftigt.
So à la: Sonne als Mittelpunkt, die Erde, welche um die Sonne rotiert und zu guter Letzt noch der Mond, der um die Erde, und somit ja auch um die Sonne, rotiert.

Nach langem Probieren hab ich es dann mal halbwegs hingekriegt. Allerdings habe ich folgendes Problem:
Irgendwie habe ich keine Tiefe. Man sieht bei der Rotation, dass zB. die Erde gar nie hinter der Sonne verschwindet, sondern immer nur vor dieser rotiert. Das gleiche mit dem Mond, welcher eigentlich um die Erde (und Sonne) rotieren sollte und irgendwann auch hinter diesen verschwinden. Ist aber nicht der Fall, sondern er bleibt zuvorderst.

Woran liegt das? (Würde eigt. noch den Code posten, aber habe jetzt noch einen Fehler entdeckt, den ich beheben sollte, bevor ich's hier poste.)

Herzlichen Dank für eventuelle Hilfe! :)

Gruss, Yarrow


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 29, 2006 11:03 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Tiefentest einschalten. Zum Sonnensystem-Problem besteht bereits ein Thread aus der letzten Zeit. Einfach danach suchen, da werden wahrscheinlich all deine Fragen zu dem Thema beantwortet.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 29, 2006 12:48 
Offline
DGL Member

Registriert: Fr Apr 28, 2006 18:50
Beiträge: 4
Sorry, dass ich nicht auf die Idee gekommen bin, die Suche zu benutzen. *Kopf auf Tisch*

Ist ja eigentlich gar nicht so schwer, wie ich jetzt festgestellt habe.
Und das hat mir auch noch geholfen, mir es richtig vorstellen zu können.
Zitat:
Sonne verschieben -> Sonne zeichnen -> Rotation um Sonne -> Verschiebung der Erde -> Erde zeichnen ->Rotation um Erde -> Verschiebung Mond -> Mond zeichnen


Ausserdem habe ich den Code falsch aufgebaut.. konnte so wohl gar nicht funktionieren, und wenn doch, dann nur verdammt kompliziert.

Falls ich das auch noch schnell fragen dürfte:
Wie bring ich OnIdle zum Laufen? Ich hab da schon x Foren durchgesehen und auch viele Beispiele gefunden, aber keine komplette Unit, die ich wohl bräuchte, das ganze richtig zu verstehen..
Oder ein Beispielprogramm..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 29, 2006 14:04 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Klick
Ansonsten gibt es auch noch das DGLSDK, was für OpenGL-Anfänger alles wichtige bereit hält!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 29, 2006 14:42 
Offline
DGL Member

Registriert: Fr Apr 28, 2006 18:50
Beiträge: 4
Ja das hab ich auch.. Aber wenn ich einfach alles nur mit Copy&Paste einfüge bringt mir das nichts, da der Lerneffekt verloren geht. Und die Sources versteh ich nicht so ganz..

Das mit dem Sonnensystem hab ich jetzt hingekriegt, allerdings ist die Rotation wie folgt:

Sonne rotiert, Matrix dreht mit, daher drehen auch Erde und Mond mit. Soweit sogut. Allerdings hab ich das Gefühl, Erde und Mond drehen um einen Punkt zwischen den beiden Objekten, was ja eigentlich falsch wäre, da die Erde fest sein müsste und der Mond um die Erde drehen müsste.

Hier der entsprechende Code:

Code:
  1.     glTranslatef(0, 0, -15);  //"zeichenstift" an sonnenposition setzen
  2.     glRotatef(angle,0,1,0);   //rotation sonne-> matrix dreht mit, darum drehung von erde/mond
  3.     sonne;                    //sonne zeichnen
  4.     glTranslatef(0,0,-5);     //"zeichenstift" an erdposition setzen
  5.     glPushMatrix;
  6.     glRotatef(angle/3,0,1,0); //rotation erde
  7.     erde;                     //erde zeichnen
  8.     glPopMatrix;
  9.     glRotatef(angle,0,1,0);   //rotation mond um erde
  10.     glTranslatef(0,0,-2);     //"zeichenstift" an mondposition setzen
  11.     glRotatef(angle,0,1,0);   //eigenrotation mond
  12.     mond;                     //mond zeichnen


Gruss, Yarrow


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 29, 2006 20:49 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Yarrow hat geschrieben:
Sonne rotiert, Matrix dreht mit, daher drehen auch Erde und Mond mit. Soweit sogut. Allerdings hab ich das Gefühl, Erde und Mond drehen um einen Punkt zwischen den beiden Objekten, was ja eigentlich falsch wäre, da die Erde fest sein müsste und der Mond um die Erde drehen müsste.

Nach deinem Code dreht sich der Mond um die Erde und die Erde um die Sonne. Sehe da gerade keinen Fehler.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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 | 15 Queries | GZIP : On ]