ich krieg die kriese...
-
also ich weiss nicht obs direkt ins mathematikforum gehört, aber das ist wohl das passendste..
nach etlichen versuchen und 4 mit skizzen und rechnungen vollgekrizelten A4-Seiten ist mir eins klar geworden: Ich kapiers einfach nicht!
Ich könnte jetzt Stunden verbringen ums genau zu erklären aber ich machs mal kurz:
man könnte sagen es geht um reflektion...um genau zu sein soll ein "strahl" an einer "kante" reflektiert werden. da gilt ja üblicherweise einfalls=ausfallswinkel.man könnte sagen ich hab einen vektor (z.B. -1,-1) welcher an einer kante reflektiert werden soll. bei senkrechten bzw. waagerechten kanten ist das ziemlich einfach da nur der x bzw. y-wert invertiert werden muss.
problematisch wird es bei schrägen kanten...was geometrisch ganz einfach zu lösen ist wird rein mathematisch zu einer herausforderung. ich weiss es ist ganz einfach, aber ich komm einfach nicht drauf (vielleicht bin ich auch einfach blöd)
die frage ist also: wie errechne ich aus einem vektor (ich sag mal einfallsvektor) und z.B. einer winkelangabe den ausfallsvektor?
meine idee war ja die schräge kante als senkrechte anzusehn und den vektor um den winkel der schräge zu rotieren...aber dummerweise komm ich nicht wirklich auf ein richtiges ergebnis, obwohl ich so ne ahnung hab das das problem mit rotation zu lösen wäre.
ihr habt nicht zufällig ne idee?
BTW: sorry für die schlechte erklärung...aber mir dreht sich noch der kopf
-
nur als kleine anregung:
ich würde die gerade an der Normalen der Kante spiegeln
-
Das geht AFAIK mit der Dreh-Matrix...
-> google
-
ja, das es mit der dreh-matrix geht glaub ich auch, aber dazu muss ich erstmal wissen wie ich den winkel bekomm um den ich drehen muss...
wie das drehen an sich von statten geht weiss ich.
-
Das geht aber auch einfacher:
Ist I die einfallende Richtung (normierter Vektor) und N die Normale der Kante/Fläche an der Du reflektieren willst (ebenfalls normiert).
Dann ist der Ausfallsvektor gegeben durch:
R = I + 2(N*I)N (* steht für das Skalarprodukt)
MfG Jester
-
Wenn du den Winkel zwischen zwei Vektoren u und v bestimmen willst, kannst du das
über das Skalarprodukt:<u,v> = |u| * |v| * cos([e]phi[/e]) mit [e]phi[/e] eingeschlossender Winkel von u und v
-
Jo, das ist auch genau der Term N*I in meiner Formel. Nur daß ich die Beträge weglasse, weil beides Einheitsvektoren sind.
-
@taurin
das hab ich mir auch gedacht, nur das ich den 2. vektor ja haben will@jester:
thx..werd ich mir mal ansehn.
wenn ich noch auf irgendwelche probleme treff meld ich mich nochmal.
-
problemo schrieb:
problematisch wird es bei schrägen kanten...was geometrisch ganz einfach zu lösen ist wird rein mathematisch zu einer herausforderung.
Du könntest es auch so lösen, wie du es geometrisch tun würdest. Wenn du 2 Geraden hast (g und h), und g an h spiegeln möchtest, zuerst den Schnittpunkt ausrechnen. Danach einen beliebigen Punkt der Geraden g an h spiegeln. Dann hast du zwei Punkte, die auf der gespiegelten Geraden liegen, durch diese kannst du nun die Gerade legen.
-
ist doch genau was Jester schrieb...
___c_____c___ \ | / \ | n / \ | / L \ | / L' \ | / \|/
\[L'=2*c-L\] \[L'=2*L+2(L^T n)n-L\] \[L'=L+2(L^T n)n\]
das Scalarprodukt ist die Länge der senkrechten Projektion von L auf n,
n wird danach auf diese Länge gebracht und zu L addiert dies ergibt c;
aus dem Bild ist ersichtlich das
und somit[/latex]