Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Matrixarrays multiplizieren » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Matrixarrays multiplizieren
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Matrixarrays multiplizieren Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
19.07.2018 19:55 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
19.07.2018 19:58 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
as_string as_string ist männlich
Haudegen


Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
20.07.2018 10:19 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

Dateianhänge:
txt Program.txt (4,21 KB, 288 mal heruntergeladen)
txt Matrix.txt (2 KB, 282 mal heruntergeladen)
txt Tools.txt (4,15 KB, 288 mal heruntergeladen)
txt Vector3D.txt (2 KB, 285 mal heruntergeladen)
txt Point3D.txt (170 Byte, 252 mal heruntergeladen)
20.07.2018 13:29 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok, habs gerade gewschafft, melde mich aber hier nochmal wegen view sowie projektionsmatrix.....
20.07.2018 14:14 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Matrixarrays multiplizieren