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

Aktuelle Zeit: Sa Jul 05, 2025 11:49

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: alternative zu glmultmatrixd?
BeitragVerfasst: Fr Jan 07, 2011 09:31 
Offline
DGL Member

Registriert: Do Mär 05, 2009 20:17
Beiträge: 284
Wohnort: Kaiserslautern
Huhu und frohes neues Jahr noch allen...

bastle seit einiger Zeit mal wieder an meinem neuen Viewer Projekt und habe zur Zeit folgendes Problem.

ich müsste Matrizen multiplizieren, um auf die endgültige Lage von Objekten zu kommen.

Mangels eigenen Wissens verwende ich zur Zeit die Funktion "glmultmatrixd" (habe die Matrizen als double vorliegen)
aber das finde ich irgendwie umständlich - oder macht man das so?

Mir wäre eine Funktion lieber, die irgendwie einfach
Code:
function Externemultmatrixd(m1,m2):m3
oder so ähnlich lautet und das dann macht.

Momentan mache ich es ungefähr so:

Code:
GLMatrixmode(GL_MODELVIEW_MATRIX);
glpushmatrix;
glloadidentity;
glmultmatrixd(@matrix1);
glmultmatrixd(@matrix2);
glGetDoublev(GL_MODELVIEW_MATRIX,@Ergebnismatrix );
glpopmatrix


es ist jetzt zwar nicht wirklich schlimm, weil ichs nur einmal mache am Anfang und scheint soweit zu funktionieren, aber ich frage mich ob es eine alternative gibt, die direkter arbeitet :)

danke schonmal

Wölfchen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: alternative zu glmultmatrixd?
BeitragVerfasst: Fr Jan 07, 2011 09:46 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,

wenn du das Objekt gleich zeichnen willst, dann bietet es sich an, es mit glMultMatrix zu machen. Aber so wie du das jetzt hast würd ich auch ne eigene Funktion vorziehen. HIER is die MatrixMultiplikation erklärt, musst du eig nur noch in Code umsetzen.

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: alternative zu glmultmatrixd?
BeitragVerfasst: Fr Jan 07, 2011 10:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Sobald man ernsthaft irgendwas rechnen will sollte man eine MatheLib benutzen.
Z.B. meine CoolMathLibrary: viewtopic.php?f=13&t=9296

Da wäre das dann einfach nur noch:
Code:
m3 = m1 * m2;


Du scheinst allerdings Delphi zu benutzen, also da musst du dir selbst was suchen. Alternativ suchst du dir die Funktionen die du brauchst aus CML zusammen und übersetzt sie.

Zitat:
glloadidentity;
glmultmatrixd(@matrix1);

Das könntest du durch glLoadMatrixd(@matrix1) ersetzen.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: alternative zu glmultmatrixd?
BeitragVerfasst: Fr Jan 07, 2011 10:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Die Tutorials Lineare Algebra und Nachsitzen seien auch dir ans Herz gelegt. Erklären solche Grafikprogrammierungsgrundlagen sehr gut, haben mir damals auch geholfen.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: alternative zu glmultmatrixd?
BeitragVerfasst: Fr Jan 07, 2011 12:58 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Coolcat hat geschrieben:
Du scheinst allerdings Delphi zu benutzen, also da musst du dir selbst was suchen
Also ich benutze da die Geometry.pas die ist soweit ich weiß irgendwo im DGLSDK zu finden, frag mich aber nicht, wo. Da siehts dann jedenfalls so aus:
Code:
mBoth:= MatrixMultiply(mSecond, mFirst); //Reihenfolge bitte beachten!!


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


Wer ist online?

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