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

Aktuelle Zeit: Di Jul 08, 2025 07:38

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Pivots mit einer Matrix
BeitragVerfasst: Mo Dez 30, 2002 12:15 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Huhu,

sicherlich nerv ich euch schon mit meinen Matrixfragen, aber... Na ja :oops:

Also, wie ich nen Objekt per Matrix Rotiere, Translate und Scaliere weiß ich...

NUR, ich möchte jetzt das Objekt nicht um den mittelpunkt rotieren, sondern um einen frei wählbaren Punkt (Pivot).

Beispiel:
Das Objekt ist bei den Koordinaten (0,0,-3).
Ich möchte dieses Objekt nun um 45° drehen, aber um den Punkt (0,0,1) herum...

wie geht das..? :)

Ich weiß zwar wie ich es mit glTranslate, gl Rotate etc hinbekomme, aber haltet mich für doof.. ich bekomm's net mit ner Matrix hin *seufzt*

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 31, 2002 00:37 
Alles was du tun musst ist, dein Objekt um den Pivot herum konstruieren.
Sagen wir mal dein Pivot liegt auf 0|0|0 (ich weiß nicht sehr originell ;) )
Jetzt willst du ein Viereck darum zeichnen:
Code:
  1.  
  2.  
  3. glVertex3f(-1,1,0); //Links oben
  4.  
  5. glVertex3f(1,1,0); //rechts oben
  6.  
  7. glVertex3f(1,-1,0); //rechts unten
  8.  
  9. glVertex3f(-1,-1,0); //links unten

So jetzt legen wir doch mal den Pivot auf 3|3|3
Code:
  1.  
  2.  
  3. glVertex3f(2,4,3); //Links oben
  4.  
  5. glVertex3f(4,4,3); //rechts oben
  6.  
  7. glVertex3f(4,2,3); //rechts unten
  8.  
  9. glVertex3f(2,2,3); //links unten


Mit dem Pivot (3|3|3) müsstest du deine Koordinaten also so anlegen.
Ganz ehrlich, ich weiß nicht obs noch nen anderen Weg gibt :oops: aber ich machs immer so und hatte bisher auch nie fehler.
Viel Glück! :roll:

Cya,

Sebo :)


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 31, 2002 00:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
mhh.... ich sag doch extra das ich's für ne Matrix brauch :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 31, 2002 12:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 06, 2002 20:27
Beiträge: 479
Wohnort: Bremen
mach doch einfach das was du in ogl machen müsstest manuell:

identitätsmatrix nehmen -> mit der "translationsmatrix zum drehpunkt multiplizieren" -> mit der "rotationsmatrix um 45°" multiplizieren
-> mit der "translationsmatrix vom drehpunkt zum pivot multiplizieren"

die matrix jetzt als modelview matrix speichern und dein objekt um den ursprung (0,0,0) rendern. sollte funzen...

-lith

_________________
Selber Denken macht klug!


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 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.010s | 18 Queries | GZIP : On ]