Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Multiplikation von Matrizen (https://www.delphipraxis.net/134713-multiplikation-von-matrizen.html)

Ben19 27. Mai 2009 14:47


Multiplikation von Matrizen
 
Hallo leute:)
Ich hab eine Frage. Kann mir jmd. bitte erklären wie mein Lehrer auf die Darstellung kommt

( sin(theta)cos(phi) )
( sin(theta)sin(phi) )
( cos(theta) )

Er hat dafür 2 von den Rotationsmatrizen um die Achsen mit einander multipliziert. Ich glaube es war die Matrizen von der z- und y-Achse die er multipliziert hat.

Rotationsmatrix x-Achse
http://upload.wikimedia.org/math/2/d...693944d0dd.png
Rotationsmatrix y-Achse
http://upload.wikimedia.org/math/2/b...4b39324cbf.png
Rotationsmatrix z-Achse
http://upload.wikimedia.org/math/e/c...5802fe8483.png

Hoffe jmd. kan mir das erlären wie man darauf kommt.
Vielen Dank im voraus
Ben19

alleinherrscher 27. Mai 2009 14:55

Re: Multiplikation von Matrizen
 
Ah das sind Kugelkoordinaten in dieser Darstellung:

http://upload.wikimedia.org/wikipedi...oordinaten.PNG

Moment ich überleg mal gerade, wie man die aus den Drehungen um die Koordinatenachsen herleiten kann...

alleinherrscher 27. Mai 2009 15:10

Re: Multiplikation von Matrizen
 
Stell dir vor, du hast einen Vektor der entlang der x Achse zeigt und die Länge r hat.

Der Vektor hätte dann in kubischen Koordinaten die Form: [r,0,0]

Diesen Vektor wollen wir nun um einen Winkel Theta und einen Winkel Phi drehen, und zwar so wie in dieser Grafik:

http://upload.wikimedia.org/wikipedi...oordinaten.PNGhttp://wwwex.physik.uni-ulm.de/lehre...006/img227.gif

Wichtig dabei ist, dass der Winkel Theta von der z-Achse aus gemessen wird.

Wir drehen also zuerst um die y-Achse, und zwar um einen Winkel 90°-Theta.

Wenn du also den Vektor [r,0,0] mit der Drehmatrix für Rotation um die y-Achse multiplizierst, bekommst du einen neuen Vektor:

[ cos(90°-Theta) , 0 , -sin(90°-Theta) ]

Wir wissen, dass die Sinus und die Kosinusfunktion um 90 Grad phasenverschoben sind. Das heißt, dass sin(90°-Theta)=cos(Theta) ist.

Diese Beziehung setzen wir in unseren Vektor ein und erhalten:

[ sin(Theta), 0, cos(Theta) ]

Jetzt wollen wir weiterhin unseren Vektor um den Winkel Phi um die z-Achse drehen:

Wir multiplizieren also den Vektor mit der Drehmatrix für Rotation um z und erhalten:

[sin(Theta)*cos(Phi), sin(Theta)*sin(Phi), cos(Theta) ]

Und somit sind wir am Ziel angekommen :firejump:

Ben19 27. Mai 2009 16:24

Re: Multiplikation von Matrizen
 
hey vielen Dank für die schnelle Antwort :thumb:
habe alles soweit verstanden, nur wie du bei der letzten Gleichung
Zitat:

[sin(Theta)*cos(Phi), sin(Theta)*sin(Phi), cos(Theta) ]
beim y wert auf sin(theta)*sin(Phi) kommst. Müste doch eig nur sin(phi) sein?
Vielen Dank im voraus
Ben19

alleinherrscher 27. Mai 2009 16:37

Re: Multiplikation von Matrizen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Ben19
hey vielen Dank für die schnelle Antwort :thumb:
habe alles soweit verstanden, nur wie du bei der letzten Gleichung
Zitat:

[sin(Theta)*cos(Phi), sin(Theta)*sin(Phi), cos(Theta) ]
beim y wert auf sin(theta)*sin(Phi) kommst. Müste doch eig nur sin(phi) sein?
Vielen Dank im voraus
Ben19

Nö, rechne nochmal nach (siehe Anhang)

Ben19 28. Mai 2009 13:01

Re: Multiplikation von Matrizen
 
Aso ja stimmt sry :)
nochmal danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz