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

Aktuelle Zeit: Sa Jul 19, 2025 10:36

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Starre Objekte bei Drehung
BeitragVerfasst: Fr Okt 09, 2009 12:48 
Offline
DGL Member

Registriert: Fr Jan 16, 2009 13:36
Beiträge: 75
Hallo alle DGler,

Ich wollte gerade neben einer drehenden Kugel ein starres Achsensystem darstellen. Sprich eines, dass sich nicht mitdreht wenn ich die Kugel mit der Maus drehe.
Ich hab es mal mit PushMatrix und PopMatrix versucht, funktioniert aber nicht so richtig. Ich glaube ich stelle mich gerade ein wenig doof an. Ich bin für Eure Hilfe sehr dankbar,

VG

heavenssake007


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 09, 2009 15:01 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bei OpenGL ist Reihenfolge alles. Wenn du nur deine Kugel drehen willst, dann musst du darauf achten, dass du die Rotation nur vor deiner Kugel durchführst. Da alles nach der Rotation mit beeinflusst würde. Du geht derzeit vermutlich so vor.
- Rotieren
- Achsen zeichnen
- Kugel zeichnen

Du müsstest aber wie folgt vor gehen
- Achsen zeichnen
- Rotieren
- Kugel zeichnen

Du kannst natürlich auch vor dem Zeichnen der Achsen noch dein Ansicht anpassen. Also falls man da etwas geneigt drauf schauen möchte etc. Alles kein Ding. Nur die Rotation mit der Maus darf nur die Kugel beeinflussen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 09, 2009 15:19 
Offline
DGL Member

Registriert: Fr Jan 16, 2009 13:36
Beiträge: 75
Mein Problem liegt darin, dass ich mein Panel in vier Viewports gleicher Grösse einteile und eine Drehung mache mit der alle Kugeln gleichzeitig in dieselbe Richtung drehen. Nun möchte ich aber, dass in einem dieser Viewports ein Koordinatensystem eingezeichnet wird das sich nicht mitdreht. Ich habe mal versucht per loadmatrixf eine Einheitsmatrix vor dem zeichnen der Achsen zu laden. Funktioniert aber irgendwie nicht, selbst wenn ich noch ein Translate vorgebe. Hab ich bei dem LoadMatrixf vielleicht noch irgendetwas vergessen?

Der SourceCode sieht wie folgt aus:





Code:
  1.  
  2. //Matrix für Starres Achsensystem
  3.    m[0][0] := 1;
  4.    m[1][1] := 1;
  5.    m[2][2] := 1;
  6.    m[3][3] := 1;
  7.    m[3][2] := -130;
  8.  
  9.    glLoadMatrixf(@m);
  10.    glBegin(GL_Lines);
  11.     glColor3f(1,0,0);glVertex3f(-1,-1,0);glVertex3f(-1,1,0);
  12.     glColor3f(1,0,0);glVertex3f(-1,-1,0);glVertex3f(1,-1,0);
  13.    glEnd;
  14.  


VG

heavenssake007


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 11, 2009 17:09 
Offline
DGL Member

Registriert: Fr Jan 16, 2009 13:36
Beiträge: 75
Hallo nochmal,

Hat jemand vielleicht eine Idee wo das Problem liegt?

VG,

heavenssake007


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 11, 2009 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Mit glLoadMatrixf überschreibst du die gerade geladene Matrix. Insbesondere deine Kamera-Matrix wird dabei überschrieben. Versuche es mal mit glMultMatrixf.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 11, 2009 21:45 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ne simple Methode wäre es, estmal das Prinzip in einem Viewport zum laufen zu bringen und dann 4 mal zu Zeichnen (jeweils in einen Viewport). Du kannst bei diesen durchläufen dann z.B. mit gluLookAt dann angeben von wo du gucken möchtest.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 15, 2009 10:15 
Offline
DGL Member

Registriert: Fr Jan 16, 2009 13:36
Beiträge: 75
Danke an alle,

Ich habe die Matrix an den Anfang vor sämtliche Rotationen gesetzt und dann glMultMatrix mit einer Einheitsmatrix aufgerufen. Und es funktioniert. :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]