Matrizendrehung < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Ich habe eine Matrix von der Form:
[mm] \pmat{ 1 & 2 & 3 & 4 & 5 \\ 12 & 22 & 32 & 42 & 52 \\ ... &... &... &... &... &}
[/mm]
und möchte die passende Drehmatrix dazu. |
Die 5. Spalte ist zusätzlich dazu gekommen, vorher hatte ich nur 4 Spalten.
Die Spalten haben folgenden Inhalt:
[mm] \pmat{ x-Wert-A & y-Wert-A & x-Wert-B & y-Wert-B1 & y-Wert-B2 }
[/mm]
das ganze möchte ich jetzt mittels einer Drehmatrix um [mm] \alpha [/mm] Grad drehen.
Bei der 4-spaltigen habe ich es mit dieser Drehmatrix gemacht:
[mm] \pmat{ cos(\alpha) & -sin(\alpha) & 0 & 0 \\ sin(\alpha) & cos(\alpha) & 0 &0 \\ 0& 0 & cos(\alpha) & -sin(\alpha) \\ 0 & 0 & sin(\alpha) & cos(\alpha)}
[/mm]
Nur wie passe ich diese Drehmatrix jetzt an, wenn ich die 5. Spalte dazu bekomme?
Habe schon mehrere Drehmatrizen versucht, z.B.:
[mm] \pmat{ cos(\alpha) & -sin(\alpha) & 0 & 0 & 0 \\ sin(\alpha) & cos(\alpha) & 0 &0 & 0 \\ 0& 0 & cos(\alpha) & -sin(\alpha) & sin(\alpha) \\ 0 & 0 & sin(\alpha) & cos(\alpha) & 0 \\ 0 & 0 & 0 & 0 & cos(\alpha) }
[/mm]
Aber irgendiwe habe ich einen Knoten im Hirn und komme nicht auf die Logik dahinter.
Wäre genial, wenn mir da jemand auf die Sprünge helfen könnte.
Gruß
|
|
|
|
> Ich habe eine Matrix von der Form:
> [mm]\pmat{ 1 & 2 & 3 & 4 & 5 \\ 12 & 22 & 32 & 42 & 52 \\ ... &... &... &... &... &}[/mm]
>
> und möchte die passende Drehmatrix dazu.
Hallo Bad Rockk,
was soll denn überhaupt gedreht werden, und zu
welchem Zweck ? Ohne nähere Angaben, was das
Ganze soll, kann man damit nichts anfangen.
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:52 Mi 19.01.2011 | Autor: | Bad_Rockk |
Hallo,
in der Matrix sind x- und y-Werte von Punkten. Diese Punkte möchte ich um (0/0) um den Winkel [mm] \alpha [/mm] drehen.
Habe ja schon geschrieben:
Die Spalten haben folgenden Inhalt:
[mm] \pmat{ x-Wert-A & y-Wert-A & x-Wert-B & y-Wert-B1 & y-Wert-B2 } [/mm]
Gruß Bad_Rockk
|
|
|
|
|
> Hallo,
>
> in der Matrix sind x- und y-Werte von Punkten. Diese Punkte
> möchte ich um (0/0) um den Winkel [mm]\alpha[/mm] drehen.
>
> Habe ja schon geschrieben:
> Die Spalten haben folgenden Inhalt:
> [mm]\pmat{ x-Wert-A & y-Wert-A & x-Wert-B & y-Wert-B1 & y-Wert-B2 }[/mm]
... Bahnhof !
> Gruß Bad_Rockk
Geht es denn nur um die Drehung einiger Punkte [mm] P_k(x_k|y_k)
[/mm]
in der x-y-Ebene um den Nullpunkt ?
Dann brauchst du doch keine solche Monster-Matrix, sondern
nur eine einfache 2x2-Drehmatrix
[mm] $\pmat{cos(\alpha)&-sin(\alpha)\\sin(\alpha)&cos(\alpha)}$
[/mm]
und wendest diese auf jeden einzelnen Punkt an.
Oder habe ich da was falsch aufgefasst ?
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:45 Mi 19.01.2011 | Autor: | Bad_Rockk |
Hallo Al-Chw,
ja, es geht rein um die Drehung. Aber die Form der zu drehenden Matrix kann ich nicht auf 2 Spalten umstellen, die muss so bleiben bzw. wird eher noch erweitert.
1. Spalte der Matrix: X-Werte der Funktion A
2. Spalte der Matrix: Y-Wert der Funktion A
3. Spalte der Matrix: X-Wert der Funktion B und C
4. Spalte der Matrix: Y-Wert der Funktion B
5. Spalte der Matrix: Y-Wert der Funktion C
Je nachdem wieviele Punkte ich je Funktion habe, desto mehr Zeilen habe ich eben in der Matrix.
Ist der Aufbau/Inhalt jetzt klarer?
Das ganze ist in einem selbstgeschriebenen VBA-Programm integriert und da muss eben der komplette Matrixinhalt gedreht werden.
Gruß Bad_Rockk
|
|
|
|
|
Wenn eine Anzahl n von Punkten [mm] P_k(x_k\,|\,y_k) [/mm] in der x-y-Ebene
(wie immer die vorher auch entstanden sein mögen) allesamt
durch eine gemeinsame Drehung mit Drehwinkel [mm] \alpha [/mm] um den
Ursprung gedreht werden sollen, so ist die Rotationsmatrix [mm] D_{\alpha}
[/mm]
einfach die gewöhnliche [mm] 2\times{2} [/mm] - Matrix
$\ [mm] D_{\alpha}\ [/mm] =\ [mm] \pmat{cos(\alpha)&-sin(\alpha)\\sin(\alpha)&cos(\alpha)}$
[/mm]
Sämtliche zu drehenden Punkte setzt man in eine [mm] 2\times{n} [/mm] - Matrix M:
$\ M\ =\ [mm] \pmat{x_1&x_2&x_3&\quad...\quad x_n\\y_1&y_2&y_3&\quad...\quad y_n}$
[/mm]
In M stehen die Koordinaten des k-ten Punktes in der k-ten Spalte.
Rechnerisch wird dann die Drehung durch Matrixmultiplikation
ausgeführt:
$\ [mm] D_{\alpha}*M\ [/mm] =\ N$
Die Ergebnismatrix N hat das Format [mm] n\times{2} [/mm] und enthält in der
k-ten Zeile die Koordinaten des Bildes von [mm] P_k [/mm] bei der Drehung.
LG Al-Chw.
|
|
|
|
|
Hallo Al-Chw,
das was du geschrieben hast, ist absolut richtig.
Habe einen Denkfehler gemacht. Ich kann nicht einen x-Wert im nicht gedrehten System für mehrere y-Werte im gedrehten System verwenden. Grund dafür ist, dass die Nullvektoren [mm] \vektor{x_n \\ y_n} [/mm] unterschiedlich sind.
Wenn ich Punkt (0/1) um 90° drehe, dann bekomme ich P1'(1/0).
Wenn ich Punkt (0/2) um 90° drehen, dann bekomme ich P2'(2/0).
Daher kann es nicht funktionieren, wenn ich versuche P2' mit dem x-Wert von P1' zu plotten. Bzw. es funktioniert, aber wird eben Müll angezeigt. Shit in Shit out!
Muss daher zu jeder Funktion immer x und y Werte habe und diese dann drehen...
Gruß Bad_Rockk
|
|
|
|