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

Aktuelle Zeit: Do Jul 10, 2025 10:13

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Frustum-Calculate
BeitragVerfasst: Di Jan 06, 2009 21:09 
Offline
DGL Member

Registriert: Mo Jun 30, 2008 12:47
Beiträge: 69
Kann mir einer genauer sagen, was hier geschiet ?

"Diese beiden Matrizen werden dann in den Zeilen [07] bis [22] kombininert und werden als unsere Clippinmatrix gespeichert. " sagt mir leider nicht viel ... :S

MfG

_________________
...GOD is wearing black...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 06, 2009 23:41 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Mir auch nicht, weil ich ja auch keine Ahnung hab, wo die Zeile herstammt... Hab da aber ne Vermutung - vielleicht hilft Dir ja schon viewtopic.php?t=8013&highlight=frustum weiter?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 07, 2009 02:22 
Offline
DGL Member

Registriert: Mo Jun 30, 2008 12:47
Beiträge: 69
ups.. Sorry für die wenigen Infos zu meiner Frage
Sie basiert auf das Frustum-Tutorial ! Da gibts ne Calculate Procedure...

EDIT:
Danke, der Link hat sehr geholfen :)

EDIT2:
Hab mal auf die schnelle ne Proc. dafür geschrieben. Nochmal vielen Dank.
Code:
  1.  
  2. Type
  3.   TSMatrix = Array of Array of Single;
  4.  
  5. procedure pSMatrixMatrixProduct( var sMatrix: TSMatrix; const Matrix: TSMatrix );
  6. var
  7.   m, n,
  8.   o : Integer;
  9.   Res  : TSMatrix;
  10. begin
  11.   {Matrices can only be multiplicated, if the row count of the matrix#1 is the same
  12.   as the column of the second matrix:}
  13.   if High(sMatrix) <> (High(Matrix[0])) then
  14.     Exit;
  15.   {if a k*l matrix is multiplicated by a m*n matrix,
  16.    the result matrix will have a k*n dimension:}
  17.   SetLength( Res, Length(sMatrix), Length(Matrix[0]) );
  18.   for m := 0 to High(Res) do
  19.     for n := 0 to High(Res[m]) do
  20.       for o := 0 to High(Matrix) do
  21.         incS( Res[m,n], sMatrix[m,o]*Matrix[o,n] );
  22.   sMatrix := Res;
  23. end;
  24.  

_________________
...GOD is wearing black...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jan 07, 2009 13:23 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich hab das ganze gleich mal ins Wiki geschoben: Matrixmultiplikation

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 08, 2009 09:45 
Offline
DGL Member

Registriert: Mo Jun 30, 2008 12:47
Beiträge: 69
Mir ist etwas peinliches aufgefallen:
ein klitzekleiner Fehler hat sich bei der ersten Bedingung eingeschlichen :(
es müsste wie folgt heißen:

if High(sMatrix[0]) <> High(Matrix) then
Exit;

Ich habe zum Testzweck eine Multiplikation mit folgenden Werten ausprobiert und es hat gepasst
http://wiki.delphigl.com/images/5/53/Ma ... ispiel.png

Tut mir echt leid.

Könnte man das evt. noch bei Techniken-> Rechenhilfen-> Matrixmultiplikation ausbessern?
Bzw wie kann ich das selber machen?

MfG

_________________
...GOD is wearing black...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Apr 08, 2009 10:08 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
Ich habs jetzt einmal ausgebessert...
Ich wollte noch irgendwie dazuschreiben "Auf Ermes Wunsch ausgebessert" so wie bei Flash das in der Klammer. Hab das
aber leider nicht geschafft :(
Durch erneute versuche sind es dann jetzt schon 3 Einträge in der Autoren-Liste :(

Sorry, ich hab das Wiki zum ersten mal so verwendet und da irgendwie nicht durchgeblickt...


@ Emre
Du musst dich im Wiki anmelden. Ich glaub das geht aber nur über den Admin.


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 » Einsteiger-Fragen


Wer ist online?

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