Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Reflexion eines Vektors an einer Normalen

Reflexion eines Vektors an einer Normalen

Universität / Fachhochschule

Matrizenrechnung

Skalarprodukte

Vektorräume

Tags: Matrizenrechnung, Skalarprodukt, Vektorraum

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Sieren

Sieren aktiv_icon

11:59 Uhr, 01.05.2014

Antworten
Hallo,

wie der Titel schon zeigt, würde ich gerne wissen wie man die Reflexion eines Vektors an einer Normalen ausrechnet.

Diese Formel brauche ich für ein Programm(Raytracer) an dem ich grade arbeite und wofür ich die Mathe-Bibliotheken-Klassen selber schreibe. Doch trotz Stunden langen "googlen", habe ich bis jetzt die Formel für das berechnen einer Reflexion nicht verstanden, daher würde ich mich über etwas Hilfe sehr freuen.

Schöne wäre erstmal die Grundformel zum errechnen einer Reflexion, denn genau die fehlt mir um eine Lösung zu finden :(

Meine Vorstellung der Formel und der Beispielrechnung, die ich gerne zum erarbeiten nutzen würde:

Vektor =(x,y,z)=v;
Normale =(a,b,c)=n;
Skalarprodukt =(xa)+(yb)+(zc)=s;

Reflexion = FORMEL =r;

Beispielrechnung:

n=(3,3,3);
v=(1,2,4);
s=(31)+(32)+(34)=21;

r=.......;

Im Anhang befindet sich meine Umsetzung die leider total Fasch zu sein scheint, aber man sieht daran wie es am Ende aussehen sollte.

Freue mich über sämtliche Hilfestellungen!

Mit freundlichen Grüßen,
Sieren

reflxion falsch

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Hierzu passend bei OnlineMathe:

Online-Übungen (Übungsaufgaben) bei unterricht.de:
 
Online-Nachhilfe in Mathematik
Antwort
DrBoogie

DrBoogie aktiv_icon

12:26 Uhr, 01.05.2014

Antworten
Die Formel ist r=v-2sn, sie findet man im Netz nach ca. 3 Minuten Googeln. :-)
Brauchst Du einen Beweis, dass sie richtig ist?
Sieren

Sieren aktiv_icon

12:35 Uhr, 01.05.2014

Antworten
Ha, nice danke!

Denn Beweis werde ich selbst machen,
muss ja mein Programm testen auf Richtigkeit ;-).

Werde das Ergebnis dann *hier reinschreiben*.

PS.: Schade das man bei den Optionen nicht Auswählen kann "muss noch getestet werden", daher wähle ich "Frage ist nun beantwortet". Hoffe aber dass man dies ändern kann, wenn es nicht der Fall sein sollte und das die Bearbeitung des ersten Threads dann noch möglich ist xD.


EDIT:

Das war leider nicht die Lösung .... habe einen Fehler bei meiner Testklasse gefunden, doch das Ergebnis stimmt trotzdem nicht ganz.....

Test:
Meine Formel: r=2ns-v

v=(-0,707|0,707|0)
n=(0|1|0)

das gewünschte Ergebnis ist: (0,707|0,707|0)
Mein Ergebnis: (0,707|2,707|0)

Es ist also ein kleiner Fehler drin :)

Antwort
DrBoogie

DrBoogie aktiv_icon

07:30 Uhr, 02.05.2014

Antworten
Wie Du auf Dein Ergebnis kommst, weiß ich nicht.

Wenn v=(-0.7070.7070) und n=(010), dann ist s=0.707 und 2ns-v=(020.7070)-(-0.7070.7070)=(0.70720.707-0.7070)=(0.7070.7070) und entsprechend v-2sn=(-0.707-0.7070).
Damit ist der Vektor 2ns-v nicht der richtige, sondern der v-2sn, das sieht man, wenn man sie zeichnet.

Frage beantwortet
Sieren

Sieren aktiv_icon

12:48 Uhr, 02.05.2014

Antworten
Problem behoben \(^_^)/

Der Hauptfehler lag nicht in der Formel,
sondern im Programmcode meines Skalarproduktes!

Meine Formel ist richtig und liefert auch das gewünschte Ergebnis(Vorgabe des Dozenten).

Skalarprodukt, Ergebnis: 0.707

Richtige Formel (2.0)(n)(s)-(v)=r

(2.0)(0.0)(0.707)-(-0.707)=0.707

(2.0)(1.0)(0.707)-(0.707)=0.707

(2.0)(0.0)(0.707)-(0.0)=0.0

Ps.: Auch anhand deiner Rechnung lieber Dr.Boogie bin ich drauf gekommen das es nicht an der Formel liegt, vielen lieben Dank :-D)


LG Und Ende,
Sieren