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

Aktuelle Zeit: Mi Jul 16, 2025 09:30

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Vertex x Matrix
BeitragVerfasst: Mi Mär 24, 2004 19:36 
Offline
DGL Member

Registriert: Do Mär 11, 2004 12:33
Beiträge: 24
Hallo!

Gibt es eine Funktion in OpenGl mit der man einen Vertex (in Welcher Form auch immer) mit einer Matrix multiplizieren kann?

Also zum Beispiel so :
Code:
  1.  TestVertex3f := mitMatrixmultiplizieren(TestVertex3f, TestMatrix);


Oder hat jemand so was parat?

Danke, mfg mandumoal


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mär 24, 2004 19:49 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Denke nicht, dass es da was vorgefertigtes gibt. Aber so eine Funktion ist doch innerhalb Minuten in einigen Zeilen selbst geschrieben?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 25, 2004 12:09 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zitat:
Oder hat jemand so was parat?

Lischkes Geometry.pas ist ein guter Ausgangspunkt für eine eigene Vektor/Matrix/Quaternion Bibliothek.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 25, 2004 13:43 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
Das ist doch echt kein Problem, sich diese Funktion zu schreiben?
Code:
  1.  
  2. (a b) * (x)
  3. (c d)   (y)
  4. =
  5. (ax + by)
  6. (cx + dy)
  7.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 25, 2004 16:47 
Offline
DGL Member

Registriert: Do Mär 11, 2004 12:33
Beiträge: 24
Hallo ihr!

Die Funktion war wirklich kein Problem, ich hatte mir nur nicht klargemacht was die Werte der Matrix denn bedeuten.

Noch ein paar Fragen:
1. Würde es genügen eine 2x2 Matrix zu benutzen, wenn ich nur 2D verwende und zudem den vierten Wert nicht benutzen möchte(der ist doch bei einer 4x4 Matrix (also3D) der vierte Wert in jeder Zeile und beschreibt praktisch eine Verschiebung vom Nullpunkt aus oder?) ?

2. Ich möchte eine Kollisionabfrage mit Obb machen und benutze für mein Objekt PositionsVektoren um die Position des Mittelpunkts zu speichern und eine Matrix um die Rotation des Objekts zu speichern.
Wenn ich nun eine BoundingBox um meinen Mittelpunkt berechnen möchte (zum Beispiel mit allen Eckpunkten 1,1 also Entfernung sqrt(2)) , wie stelle ich das dann an?
Ich habe vesucht erst 4 Eckpunkte des Box zu erstellen, die aus dem PositionsVektor und dem Abstand zum ihm bestehen und diese Punkte dann mit der Matrix zu Multiplizieren, aber irgendwie funktioniert das nicht...

Wie muss ich denn das anstellen?

mfg mandumoal


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 25, 2004 22:15 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
1) Ja die 4. Komponenten also die Werte 12-14 geben die Verschiebung an. Die 2x2 Matrix reicht dann allerdings nur aus um die Orientierung und nicht die Verschiebung zu speichern.

2) Zur Berechnung der Bounding Box subtrahierst du am Besten den Mittelpunkt, um den sich das Objekt drehen soll, von allen Punkten und ermittelst dann die minimalen und maximalen x und y Werte. Dann gibt es 4 Punkte (xmin,ymin),(xmax,ymin),(xmin,ymax),(xmax,ymax). Da sind natürlich auch negative Werte bei weil die Koordinaten jetzt relativ zum Drehpunkt/Mittelpunkt des Objektes sind. Um die gedrehte Box zu erhalten multipliziert man diese relative Koordinaten mit der Matrix und addiert dann wieder den Mittelpunkt. Die gedrehte Box hat dann folgende Punkte.

(xmin,ymin)*DrehMatrix+Mittelpunkt
(xmax,ymin)*DrehMatrix+Mittelpunkt
(xmin,ymax)*DrehMatrix+Mittelpunkt
(xmax,ymax)*DrehMatrix+Mittelpunkt


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


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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.011s | 15 Queries | GZIP : On ]