Matrixarrays multiplizieren

Neue Frage »

Auf diesen Beitrag antworten »
Tommy1234 Matrixarrays multiplizieren

Hallo,

ich habe eine 4x4 Matrix als zweidimensionales Array sowie einen Vektor (Größe 4) als eindimensionales Array vorliegen.

Wie multipliziert man die beiden so, dass wieder ein Vektor entsteht?

Ansatz:


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:

public static Vector3D multipliziereMatrixmitVector(Matrix a,Vector3D b) {
		
	int m = a.getColumns();
	int n = a.getRows();
	    
	Vector3D vec = new Vector3D(4,0.0f,0.0f,0.0f,0.0f);
	    
	 for (int spalte = 0; spalte < m; spalte++) {
	    for (int zeile = 0; zeile < n; zeile++) {
	         vec.vector[zeile] +=  (a.getMatrix()[zeile][spalte] * b.vector[zeile]);
	    }
	}
	    
        return vec;
}



Die Matrix wird mir korrekt auf der Konsole ausgegeben.

Wäre für Hilfe dankbar.

Gruß Tommy
 
Auf diesen Beitrag antworten »
Tommy1234

Nachtrag:

Matrix Input: 1 0 0 1.5
0 1 0 1.0
0 0 1 1.5
0 0 0 1

Vektor Input: x= 0 , y= 1.0, z=0 , t=1

bekomme so anstatt 1,5 2 1,5 1 ein anderes Ergebnis nämlich 0 2 0 1
Auf diesen Beitrag antworten »
as_string

Ich kenne ja die Matrix Klasse nicht und weiß nicht, wie das 2D-Array dann angeordnet ist (also ob der erste Index tatsächlich Zeile oder Spalte ist), aber was mir auffällt:
Du gehst bei der Multiplikation ja jede Zeile der Matrix durch und multiplizierst innerhalb der Zeile jede einzelnen Wert der Spalten mit den Werten im Vektor. Deine Schleifen sind aber verkehrt herum: Du müsstest bei der äußeren Schleife über die Zeilen gehen und in der inneren über die Spalten.
Überlege nochmal ganz genau, wo Du genau Zeile und wo Spalte hast und so weiter!

Gruß
Marco
Auf diesen Beitrag antworten »
Tommy1234

Hallo,

körpertransformationen gehen jetzt allerdings nur translation und skalierung.

Ich möchte den körper auch drehen können, allerdings ist die Dreheung meiner meinung nach falsch, denn er dreht sich nur um zwei punkte mit minimaler abweichung.


Ganzer kompilierbarer Code im Anhang.
 
Auf diesen Beitrag antworten »
Tommy1234

Ok, habs gerade gewschafft, melde mich aber hier nochmal wegen view sowie projektionsmatrix.....
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »