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

Aktuelle Zeit: Fr Jul 04, 2025 04:34

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: Drehpunkt setzen
BeitragVerfasst: Do Okt 10, 2002 19:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
der Standardmäßige drehpunkt is ja 0,0,0... Wie kann ich den drehpunkt neu setzen auf eine andere stelle? z.b. 5,4,-2 ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 10, 2002 19:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 14, 2002 21:07
Beiträge: 70
Wohnort: Heilbronn/Neckar
Kannst du nicht.
Du kannst aber die Vertices so konstruieren, dass dein Drehpunkt da liegt wo du ihn haben willst. Also wenn er in der Mitte sein soll, muss dein Objekt auch den Mittelpunkt (0|0|0) haben.

OpenGL macht seine Transformationen und co. folgendermaßen:
Objektvertices angeben -> skalieren, verschieben, rotieren -> Objekt rendern.

Dabei verändert OpenGL die Koordinaten durch das skalieren, verschieben & rotieren. Du gibst also beim rendern die ursprungskoordinaten an. Also so wie das Objekt ursprünglich ist, OpenGL verändert diese Koordinaten dann und bringt das Objekt mit den neuen Koordinaten auf den Screen.

_________________
<a href='http://aefgames.thechaoscompany.net/' target='_blank'>Artificial Electronic Faction</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 10, 2002 19:35 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Du kannst, wenn es wirklich nötig ist, auch um einen anderen Punkt rotieren, und zwar so:
1. Den Punkt um den du drehen willst durch Transformation auf den Nullpunkt schieben
2. Rotieren
3. Den Nullpunkt an seine vorherige Position zurückschieben

Viel leichter, schneller, fehlerunanfälliger: zuerst drehen, dann verschieben


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 10, 2002 19:35 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 13, 2002 18:26
Beiträge: 42
Wohnort: Stuttgart
hmm, kannst mir evtl nen beispiel geben wo du 2 verschiedene objekte an verschiedenen stellen um die eigene achse drehst (wenns net zu viel code is...)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 10, 2002 19:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 14, 2002 21:07
Beiträge: 70
Wohnort: Heilbronn/Neckar
Hmm...
Code:
  1.  
  2.  
  3. glPushMatrix;
  4.  
  5. glLoadIdentity;
  6.  
  7. gltranslatef(0,0,0);
  8.  
  9.  
  10.  
  11. glrotatef(rx,1,0,0);
  12.  
  13. glrotatef(ry,0,1,0);
  14.  
  15. glrotatef(rz,0,0,1);
  16.  
  17.  
  18.  
  19. gltranslatef(x,y,z);
  20.  
  21.  
  22.  
  23. Objektrendern;
  24.  
  25. glPopMatrix;
  26.  
  27.  


Hmm.. persönlich würde ichs aber net so machen, kann aber jetzt auch totaler Bullshit sein was ich da schreibe.. am Besten mal einfach ausprobieren.

Zitat:
Viel leichter, schneller, fehlerunanfälliger: zuerst drehen, dann verschieben


Naja, stimmt schon. Nur dazu müsste er wie gesagt das Objekt um den Punkt konstruieren um den er rotieren will.. Und dann hätt sich das Problem mitm Nullpunkt verschieben auch erledigt :)

_________________
<a href='http://aefgames.thechaoscompany.net/' target='_blank'>Artificial Electronic Faction</a>


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 10, 2002 19:59 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
jo, genau das hab ich gemeint mit erst drehen. aber an sich ist es fast nie ein problem, etwas um den Nullpunkt zu modellen. Würde mich interessieren in welchem Fall das nicht geht


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 11, 2002 07:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Kleiner Tipp am Rande: Schau mal in die Tutorials reint (Thema Matirzen oder Objektrotation) Da steht dann so ziemlich alles nochmal Detailiert, falls Du noch mehr infos Brauchst ;)

_________________
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  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 22 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.007s | 14 Queries | GZIP : On ]