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

Aktuelle Zeit: Do Jul 03, 2025 19:20

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Schon wieder drehen !!
BeitragVerfasst: Di Jan 07, 2003 11:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo NG,

ich sitze halt immer noch über meiner Drehung - es wird besser und manches funzt jetzt recht gut. Mit einem Problem bin ich aber immer noch nicht zufrieden. Folgendes:

Ich habe mein Objekt auf dem Bildschirm und möchte es drehen. Mit dem TUT zu diesem Thema (Objekte um die eigene Achse drehen) habe ich das eigentlich jetzt gut lösen können. Was die Drehung um die z-Ache betrifft. Die z-Achse stellt bei mir eine Gerade da, die die "Oberkante des Bildschirms mit der Unterkante" verbindet. Das Objekt rotiert sauber drum herum. Jetzt möchte ich noch eine zweite fixe Drehachse, die horizontal verläuft, also fix von der "linken Bildschirmkante zur rechten Kante". Die x und y- Achsen kommen dafür nicht in Frage, da die z-Achse ja senkrecht auf der x/y Achse steht und somit sich die Achsen verschieben, je nachdem man um z rotiert. Mit anderen Worten: die x oder auch y Achse kann "in den Bildschirm hinein" verlaufen. Man bräuchte also eine Achse, die unabhängig von der z-Achse immer "horizontal" verläuft. Irgendwie müßte man die -je nach Lage der x und y Achse- berechnen können. ABER: W I E ??????

Kann da jemand helfen ? Versteh ich da was falsch ? :cry:

Gruss

Markus :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 07, 2003 11:46 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Wenn ich Dich richtig verstanden hab', willst Du NACH der lokalen Derhung noch mal um die Globalen Achsen drehen. In diesem Fall musst Du einfach VOR dem setzen der Objekt-Matrix noch ein einfaches, stinknormales glRotate machen (parameter je nach gewünschter Achse). Dabei musst Du die übliche ReihenFolge von glTransLate und glRotate beachten (hab' in letzter Zeit leider nicht mehr mit OpenGL arbeiten können. Und bin auf mein Alter etwas vergesslich ;)) Notfalls musst Du einfach mit der Reihenfolge von glRotate, glTransLate und glMultMatrix etwas 'rumprobieren. Aber prinzipiell müsste das Funktionieren.

Code:
  1.  
  2.  
  3.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  4.  
  5.   glLoadIdentity;
  6.  
  7.   glTranslate( PosVect[0],  PosVect[1],  PosVect[2]);
  8.  
  9.   
  10.  
  11.   // hier die Drehung.
  12.  
  13.   glRotate(1, 0, 0, DrehWinkel);
  14.  
  15.  
  16.  
  17.   DrawCoordSys;
  18.  
  19.   glMultMatrixf(@ObjMat);
  20.  
  21.   DrawTheObject;
  22.  
  23.  

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


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


Wer ist online?

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