Rotationsmatrix < Matrizen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 08:49 Mi 25.11.2009 | Autor: | uecki |
Hallo,
also, ich habe ein Dreieck, sprich drei Punkte im zweidimensionalen Raum. Jetzt möchte ich das Dreieck drehen mit Hilfe der Rotationsmatrix.
Ich habe für das Dreieck die Punkte a=(0,0) b=(7,0) c=(3,5).
Ich möchte aber das sich alle Punkte vom Dreieck mit drehen, also der Drehmittelpunkt im Mittelpunkt vom Dreieck liegt. Ist es da Sinnvoll das mit einer Rotationsmatrix zu machen? Aber wie geht das dann? Ich habe folgende Formeln gefunden:
[mm] p_1 [/mm] = [mm] \vektor{x_1 \\ y_1} p_2 [/mm] = [mm] \vektor{x_2 \\ y_2}
[/mm]
Für die Koordinaten [mm] x_1 [/mm] und [mm] y_1 [/mm] bedeutet dies:
[mm] x_1= cos(\phi)
[/mm]
[mm] y_1= sin(\phi)
[/mm]
[mm] x_2= x_1*cos(\alpha) [/mm] - [mm] y_1*sin(\alpha)
[/mm]
[mm] y_2= y_1*cos(\alpha) [/mm] + [mm] x_1*sin(\alpha)
[/mm]
damit folgt die Matrixschreibweise:
[mm] \vektor{x_2 \\ y_2}= \pmat{ cos(\alpha) & -sin(\alpha) \\ sin(\alpha) & cos(\alpha) }* \vektor{x_1 \\ y_1}
[/mm]
(aus Wikipedia:Rotationsmatrix)
So, aber ich kann das jetzt irgendwie nicht so richtig auf mein Problem übertragen. Denn ich hab doch drei Punkte die ich drehen möchte...Wie mache ich das? Hat jemand eine Idee oder ein gutes Beispiel?
Vielen Dank schonmal!
MfG, uecki
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:38 Mi 25.11.2009 | Autor: | Denny22 |
> Hallo,
Hallo,
> also, ich habe ein Dreieck, sprich drei Punkte im
> zweidimensionalen Raum. Jetzt möchte ich das Dreieck
> drehen mit Hilfe der Rotationsmatrix.
> Ich habe für das Dreieck die Punkte a=(0,0) b=(7,0)
> c=(3,5).
Du befindest Dich also in der Ebene, d.h. im [mm] $\IR^2$.
[/mm]
> Ich möchte aber das sich alle Punkte vom Dreieck mit
> drehen, also der Drehmittelpunkt im Mittelpunkt vom Dreieck
> liegt. Ist es da Sinnvoll das mit einer Rotationsmatrix zu
> machen?
Oh ja, aber gewiss doch. Fuer eine solche Aufgabe solltest Du sie definitiv nutzen.
> Aber wie geht das dann? Ich habe folgende Formeln
> gefunden:
>
> [mm]p_1[/mm] = [mm]\vektor{x_1 \\ y_1} p_2[/mm] = [mm]\vektor{x_2 \\ y_2}[/mm]
> Für
> die Koordinaten [mm]x_1[/mm] und [mm]y_1[/mm] bedeutet dies:
> [mm]x_1= cos(\phi)[/mm]
> [mm]y_1= sin(\phi)[/mm]
>
> [mm]x_2= x_1*cos(\alpha)[/mm] - [mm]y_1*sin(\alpha)[/mm]
> [mm]y_2= y_1*cos(\alpha)[/mm] + [mm]x_1*sin(\alpha)[/mm]
>
> damit folgt die Matrixschreibweise:
>
> [mm]\vektor{x_2 \\ y_2}= \pmat{ cos(\alpha) & -sin(\alpha) \\ sin(\alpha) & cos(\alpha) }* \vektor{x_1 \\ y_1}[/mm]
Wenn Du es bis hierher schon geschafft hast, bist Du (bis auf ein paar Schoenheitsfehler) fast fertig. Also: Die Rotation findet generell um den Ursprung im [mm] $\IR^2$ [/mm] herum statt. Daher musst Du folgende Vorgehensweise einschlagen:
1. Schritt: Zunaechst verschiebe Dein Dreieck, so dass der Mittelpunkt Deines Dreiecks genau auf dem Ursprung (Nullpunkt) im [mm] $\IR^2$ [/mm] liegt(-> Translation). (Ich bezeichne den Mittelpunkt des Dreiecks der Uebersichtlichkeit halber mit [mm] $M=(M_1,M_2)\in\IR^2$.)
[/mm]
2. Schritt: Anschliessend fuehre die Rotation durch mit Hilfe Deiner 2D-Rotationsmatrix (-> Rotation).
3.Schritt: Verschiebe das ganze Dreieck wieder zurueck (-> Translation)
Insgesamt erhaelst Du dann die Abbildung
[mm] $\vektor{y_1 \\ y_2}= \pmat{ cos(\alpha) & -sin(\alpha) \\ sin(\alpha) & cos(\alpha) }\cdot\left(\vektor{x_1 \\ x_2}-\vektor{M_1 \\ M_2}\right)+\vektor{M_1 \\ M_2}$
[/mm]
Dabei bezeichnet $x$ einen Punkt aus Deinem Ausgangsdreieck und $y$ den zugehoerigen Punkt, der durch die Translation entsteht.
>
> (aus Wikipedia:Rotationsmatrix)
>
> So, aber ich kann das jetzt irgendwie nicht so richtig auf
> mein Problem übertragen. Denn ich hab doch drei Punkte die
> ich drehen möchte...Wie mache ich das?
Dazu setze der Reihe nach jeden Deiner 3 Eckpunkte in die Gleichung fuer $x$ ein. Du erhaelst daraus die 3 Eckpunkte des rotierten Dreiecks. Das ganze kannst Du Dir (fuer Dich selbst) mal graphisch an Deinem obigen Beispiel veranschaulichen.
> Hat jemand eine
> Idee oder ein gutes Beispiel?
Nimm irgendein Beispiel, was Dir einfaellt. Und verrechne Dich nicht bei der Berechnung des Mittelpunktes! Ansonsten rotierst Du naemlich um irgendeinen anderen Punkt herum.
> Vielen Dank schonmal!
>
> MfG, uecki
>
Gruss
Denny
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:10 Mi 25.11.2009 | Autor: | uecki |
Ok...Ich suche jetzt den Mittelpunkt meines Dreieckes über die Winkelhalbierenden. Die Länge der Winkelhalbierenden zu errechnen ist nicht schwer: Mein Dreieck war: a=(0,0) b=(7,0) c=(3,5)
[mm] w_a= \bruch{2*b*c*cos(\bruch{\alpha}{2})}{b+c}
[/mm]
[mm] w_b= \bruch{2*c*a*cos(\bruch{\beta}{2})}{c+a}
[/mm]
[mm] w_c= \bruch{2*a*b*cos(\bruch{\gamma}{2})}{a+b}
[/mm]
Aber wie kann ich jetzt meine Koordinaten für den Mittelpunkt errechnen?
Vielen Dank.
MfG
|
|
|
|
|
Hallo, du suchst den Schwerpunkt, ist der Schnittpunkt der Seitenhalbierenden, der Mittelpunkt der Strecke [mm] \overline{AB} [/mm] ist (3,5;0), weiterhin kennst du C(3;5), du bekommst die 1. Gerade [mm] f_1(x)=-10x+35, [/mm] der Mittelpunkt der Strecke [mm] \overline{AC} [/mm] ist (1,5;2,5) weiterhin kennst du B(7;0), du bekommst die 2. Gerade [mm] f_2(x)=-\bruch{5}{11}x+\bruch{35}{11}, [/mm] jetzt noch beide Geraden gleichsetzen,
[Dateianhang nicht öffentlich]
Steffi
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:36 Mi 25.11.2009 | Autor: | uecki |
Und wie bist du auf die Geradengleichungen gekommen? Das verstehe ich noch nicht so richtig...
|
|
|
|
|
Hallo, du kennst zwei Punkte (3,5;0) und (3;5) eine Gerade genügt der Gleichung y=m*x+n, du hast zwei Gleichungen:
(1) 0=3,5*m+n
(2) 5=3*m+n
kannst du als Gleichungssystem lösen
Steffi
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:13 Mi 25.11.2009 | Autor: | uecki |
Alles klar. Habs verstanden. Danke!
Aber wenn ich das jetzt plotten möchte in einem Programm, wie lasse ich x da am besten laufen. Also welches Intervall nehme ich?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 09:55 Do 26.11.2009 | Autor: | Denny22 |
Wie jetzt, warum $x$? Du hast doch eine zweidimensionale Ebene? Zeichne Dir das mal einfach auf. Du hast ein Ausgangsdreieck $D$ mit den Eckpunkten [mm] $D_1,D_2,D_3$ [/mm] und Mittelpunkt [mm] $D_M$. [/mm] Anschliessend setzt Du diese Eckpunkte der Reihe nach in die Abbildungsvorschrift ein (Eckpunkte werden auf Eckpunkte abgebildet) und erhaelst Deine neuen Eckpunkte, also auch Dein neues Dreieck.
Wie Du dies am Computer implementieren und graphisch ausgeben lassen kannst, haengt stark von der Software (also dem Programm) ab, mit dem Du dies realisieren moechtest. Dazu fehlen uns (hier im Forum) aber irgendwie die Infos.
Gruss
Denny
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:01 Do 26.11.2009 | Autor: | Denny22 |
Edit: Sorry, falsche Mitteilung
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 13:08 Fr 27.11.2009 | Autor: | nali |
Da kann ich dir nur dass hier empfehlen:
http://www.mordwinzew.de/index.php?id=5
Es ist ein Crashkurs zu 2D/3D-Rotationsmatrizen. Dabei geht es rein um die Implementierung.
Im Artikel ist auch ein Download einer Excel Tabelle die komplett nur mit Zellen und ohne VBA Code (d.h. leicht nachvollziehbar) gelöst.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:40 Di 01.12.2009 | Autor: | uecki |
Vielen Dank.
LG
|
|
|
|