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

Aktuelle Zeit: Di Jul 08, 2025 23:28

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Aug 24, 2006 21:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 23, 2006 17:48
Beiträge: 24
Hi,

folgender Ansatz:
Code:
  1.  
  2.   glPushMatrix();
  3.     glTranslatef(XPos,YPos,0);
  4.     glRotatef(Angle,0,0,1);
  5.     glBegin(GL_POLYGON);
  6.       glColor3f(1, 0, 0); glVertex3f(0, 0, 0);
  7.       glColor3f(0, 1, 0); glVertex3f(100, 0, 0);
  8.       glColor3f(0, 0, 1); glVertex3f(100, 100, 0);
  9.     glEnd;
  10.   glPopMatrix();
  11.  


Das dreht mein Poly schon ganz toll um (0,0) - nur wie krieg ichs hin, das Poly um X/Y zu drehen, bzw. wie krieg ich raus, um wieviel ichs nach der Drehung um (0,0,1) verschieben muss, damits passt?

DANKE!
Flo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 21:55 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
hab die frage nicht verstanden sry entweder hast du nicht genug gescheit formuliert, oder ich hab irgendwas nich verstanden (was auch sehr gut sein könnt ;) )

mfg

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 21:58 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Folgender Trick... Mit Translate X/Y auf den Nullpunkt verschieben. Dann Drehen. Dann den Nullpunkt wieder mit Translate auf X/Y zurückschieben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 21:59 
Offline
DGL Member

Registriert: Sa Okt 22, 2005 20:24
Beiträge: 291
Wohnort: Frauenfeld/CH
ach jetzt hab ich verstanden ;)
sry ;)

_________________
bester uo-shard: www.uosigena.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:16 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 23, 2006 17:48
Beiträge: 24
Hallo Frankenkollege Nico,

hättest du vielleicht nen kurzen Code Schnipsel für mich.
Ich bin mir nicht ganz sicher, wie du das meinst...

Grüße aus dem Landkreis WUG!
Flo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:25 
Offline
DGL Member

Registriert: Mi Aug 23, 2006 10:27
Beiträge: 42
hier:


Code:
  1.  
  2.       glPushMatrix();
  3.       glTranslatef(XPos,YPos,0);
  4. glTranslatef(66.6,33.3,0);
  5.       glRotatef(Angle,0,0,1);
  6.       glBegin(GL_POLYGON);
  7.       glColor3f(1, 0, 0); glVertex3f(0, 0, 0);
  8.       glColor3f(0, 1, 0); glVertex3f(100, 0, 0);
  9.       glColor3f(0, 0, 1); glVertex3f(100, 100, 0);
  10.       glEnd;
  11.       glPopMatrix();
  12.  


hoffe, das war gemeint

übrigens, für ein Dreieck solltest du lieber 'TRIANGEL' benutzen und nicht 'POLYNOM'


Zuletzt geändert von DGS am Do Aug 24, 2006 22:26, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:25 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Code:
  1.  
  2. glTranslate(x,y,0)
  3. glRotate nach belieben
  4. glTranslate(-x,-y,0)
  5.  

Im schlimmsten falle sind die Translationen jetzt noch vertauscht. Aber mit Verschieben und Rotieren solltest du dich noch eine weile beschäftigen und die Vorstellung davon Üben sonst wird OpenGl seht schnell ein sehr unverständlicher Spaß.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 23, 2006 17:48
Beiträge: 24
Hmm, irgendwie steh ich grad noch ein wenig auf dem Schlauch...
Angenommen mein Dreieck beginnt via glTranslatef bei 100,100.
Wenn ich jetzt das Dreieck um seinen Mittelpunkt (150/150) drehen möchte und dieser Mittelpunkt soll nach der Drehung weiterhin bei 150,150 liegen, dann krieg ich das nicht gebacken...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:57 
Offline
DGL Member

Registriert: Mi Aug 23, 2006 10:27
Beiträge: 42
in deinem beispiel liegt aber mittelpunkt bei 66 / 33.
Also du musst nicht die absolute sondern relative position betrachten. in abhängigkeit von der position des zeichenstiftes.

.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 22:58 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Du bewegst dich erst per Translate in den Mittelpunkt, rotierst dann, bewegst dich wieder zurück und fertig ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 24, 2006 23:01 
Offline
DGL Member

Registriert: Mi Aug 23, 2006 10:27
Beiträge: 42
zeile 10: glPopMatrix();
der braucht nicht zurück zum mittelpunkt zu gehen.

( hat jemand meine modifikation des quelcodes angeschaut? )


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


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.013s | 15 Queries | GZIP : On ]