+1 Daumen
1,2k Aufrufe
Ich habe mir gerade eine Formel hergeleitet zur Spiegelung eines Punktes C an einer Geraden durch A und B.

Das Problem daran ist, dass ich nicht genau weiß wie ich mit Vektoren rechnen kann, bzw. ob ich die Formel eventuell noch vereinfachen kann.

In der folgenden Formel sein AB z.B. der Vektor AB und OA der Ortsvektor von A.

OC' = 2 * OA + 2 * (AC * AB) / (AB * AB) * AB - OC

Eventuell weiß ja auch jemand wie man Wolfram Alpha beibringt, das er mit Vektoren rechnen soll.
von 299 k
Aus der Vektorrechnung bin ich schon  eine ganze Weile draußen. Aber vielleicht reicht Dir eine Anregung die ich gerade sehe:

(AC * AB) / (AB * AB) ist ein Skalar. Es ist ja sowowhl im Nenner als auch im Zähler ein Produkt zweier Vektoren -> Skalarprodukt.

Man hat somit ein Vielfaches des Vektors AB.

 

Mehr Anregungen habe ich leider nicht. Schon fehlt mir das Vorstellungsvermögen Deinen Ausführungen zu folgen ;/.

 

Für wolfram alpha: Nutze die Schreibweise "vector {a,b,c}".

 

Grüße

Nachtrag: Drittletzter Absatz: http://www.kapslog.de/wissen/2010/syntax-rechnen-mit-wolfram-alpha/
Naja. Nachdem ich A = [a,b,c]; B = [d,e,f] und C = [g,h,i] definiert habe, komme ich auf eine Lösung von

[g - 2·(a·(b·(e - h) + c·(f - i) - e^2 + e·h - f^2 + f·i) + b^2·(g - d) + b·(d·(e + h) - 2·e·g) + c^2·(g - d) + c·(d·(f + i) - 2·f·g) - d·(e·h + f·i) + g·(e^2 + f^2))/(a^2 - 2·a·d + b^2 - 2·b·e + c^2 - 2·c·f + d^2 + e^2 + f^2),
2·(e - b)·(a·(d - g) + b·(e - h) + c·(f - i) - d^2 + d·g - e^2 + e·h - f^2 + f·i)/(a^2 - 2·a·d + b^2 - 2·b·e + c^2 - 2·c·f + d^2 + e^2 + f^2) + 2·e - h,
2·(f - c)·(a·(d - g) + b·(e - h) + c·(f - i) - d^2 + d·g - e^2 + e·h - f^2 + f·i)/(a^2 - 2·a·d + b^2 - 2·b·e + c^2 - 2·c·f + d^2 + e^2 + f^2) + 2·f - i]

Das ist ja aber noch viel schlimmer als meine Anfangs geschriebene Formel :) Daher wollte ich eigentlich schon eher den Vektor AB entweder so schreiben oder (B - A). Aber vielleicht kann man das auch gar nicht weiter vereinfachen :( Wär auch zu schön gewesen. Da es ein Skalarprodukt ist darf ich ja auch nicht einfach AB aus dem Zähler und Nenner streichen.
Mir fällt nichts ein, wie Du die Formel noch vereinfachen könntest.

Bei Wolfram-Alfa kannst du das Skalarprodukt mit einem "." rechnen, das Vektorprodukt mit einem "*"

Skalarprodukt: {2,3,4}.{4,5,2}

Vektorprodukt,Kreuzprodukt: {2,3,4}*{4,5,2}
Das ist in der Tat etwas aufwendiger :D. Ich weiß nicht mal, ob Wolfram überhaupt so viele Zeichen zulässt. Ist glaub begrenzt^^. Aber ja, AB kannst Du nicht kürzen. Wo

Meines Wissens ist das nicht möglich mittels AB etc. wolfram klar zu machen, mit Vektoren zu rechnen.

 

Also auch wenn ich das nochmals anschaue, sehe ich keine Möglichkeit der Vereinfachung ;).

Hast Du die Formel schon mittels eines Beispiels überprüft?
Beim Rechnen mag Dir auch die ein oder andere Möglichkeit des Vereinfachens auffallen, sofern denn möglich.

So jetzt bin ichs nochmal:

Zu faul das jetzt hier reinzuschreiben, deswegen ein Bild.
Ein einfaches Beispiel aus dem 2D.
Sehe keine Möglichkeit die Rechnung zu vereinfachen. Man muss stur nach Deiner Formel vorgehen ;).

 

Grüße

Ja. Meine Formel stimmt. Das habe ich anhand mehrerer Beispiele geprüft. Ich habe sie ja auch rein Mathematisch hergeleitet. Hatte allerdings gehöfft vielleicht durch ein Kreuzprodukt oder etwas ähnliches hier noch etwas zu vereinfachen.

1 Antwort

+2 Daumen
 
Beste Antwort

Die einfachste Form ist eigentlich die Verwendung einer Spiegelungsmatrix.

Eine Spiegelung an einer Geraden ist eine lineare Abbildung von ℝ2 nach ℝ2, also ist sie durch eine 2x2-Matrix beschreibbar.

Dass sie linear ist, folgt direkt aus der Linearität von Vektoren.

Um die Matrix herzuleiten, kann man z.B. folgendermaßen vorgehen:

Zunächst für eine Spiegelung an einer Ursprungsgeraden mit dem Steigungswinkel φ:

Für eine Spiegelung an der x-Achse lautet die Spiegelungsmatrix trivialerweise

$$ S ^ { \prime } = \left( \begin{array} { c c } { 1 } & { 0 } \\ { 0 } & { - 1 } \end{array} \right) $$

Wenn man also zunächst eine Drehung durchführt, die die Spiegelungsgerade auf die x-Achse dreht, an der x-Achse spiegelt und dann zurückdreht, erhält man die gesuchte Matrix:

$$ S ( \varphi ) = D ( \varphi ) S ^ { \prime } D ( - \varphi ) \\  S ( \varphi ) = \left( \begin{array} { c c } { \cos \varphi } & { - \sin \varphi } \\ { \sin \varphi } & { \cos \varphi } \end{array} \right) \left( \begin{array} { c c } { 1 } & { 0 } \\ { 0 } & { - 1 } \end{array} \right) \left( \begin{array} { c c } { \cos - \varphi } & { - \sin - \varphi } \\ { \sin - \varphi } & { \cos - \varphi } \end{array} \right) \\ = \left( \begin{array} { c c } { \cos \varphi } & { - \sin \varphi } \\ { \sin \varphi } & { \cos \varphi } \end{array} \right) \left( \begin{array} { c c } { \cos \varphi } & { \sin \varphi } \\ { \sin \varphi } & { - \cos \varphi } \end{array} \right) \\ = \left( \begin{array} { c c } { \cos ^ { 2 } \varphi - \sin ^ { 2 } \varphi } & { 2 \cos \varphi \sin \varphi } \\ { 2 \cos \varphi \sin \varphi } & { \sin ^ { 2 } \varphi - \cos ^ { 2 } \varphi } \end{array} \right) \\ = \left( \begin{array} { c c } { \cos 2 \varphi } & { \sin 2 \varphi } \\ { \sin 2 \varphi } & { - \cos 2 \varphi } \end{array} \right) $$

wobei im letzten Schritt noch ein paar Additionstheoreme ausgenutzt sind.

Für die Spiegelung eines Punktes x an der Geraden gilt nun also

x' = S(φ)x

Dieses Verfahren beschreibt also wesentlich kompakter das, was du gemacht hast.

Insbesondere gibt es natürlich auch noch eine Möglichkeit, das ganze auf beliebige Geraden zu verallgemeinern.

Im Endeffekt ist dein Verfahren dem Matrixverfahren aber natürlich äquivalent. Möglicherweise ist es mit den Matrizen aber etwas leichter gewisse Informationen über die Abbildung zu erhalten.

von 10 k
Ja. Der Ansatz ist auch gut. Vielleicht werde ich das so mal für allgemeine Geraden probieren und schauen ob dort etwas "Besseres" herauskommt.

Alternativ kann ich ja auch noch mal probieren meine Rechnung auf eine Matritzenform zu bringen.

Danke für die Anregung!

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community
...