Einfallswinkel = Ausfallswinkel (Quick and Dirty) von / |
[code:1:0425802b48] Graphics 800,600,32,2 SetBuffer BackBuffer() Color 255,255,255 Line 0,300,800,300 Winkel = 225 EndX# = Cos(Winkel)*200 EndY# = Sin(Winkel)*200 StartX# = 400 StartY# = 300 Line StartX#,StartY#,EndX#+StartX#,EndY#+StartY# W2 = 270 + Winkel If W2 > 360 W2 = W2 - 360 If W2 < 0 W2 = 360 + W2 EndXX# = Cos(W2)*200 EndYY# = Sin(W2)*200 Line EndX+StartX,EndY+StartY,EndXX+StartX+EndX,EndYY+StartY+EndY Text 10,200,"Eingangs Winkel : "+Winkel Text 10,220,"Ausgangs Winkel : "+W2 Flip WaitKey End [/code:1:0425802b48] |
vektoren von / |
das lässt sich viel einfacher mit vektoren realisieren. in dem fall spricht man aber von "einfallsvektor" und "ausfallsvektor" statt winkel. gegeben ist eine grenzfläche, an der etwas abprallen soll und diese wird durch einen oder zwei (2D oder 3D) vektoren definiert. man bildet dazu ganz einfach den normalenvektor und kann dann den ausfallsvektor wie folgt berechnen: a sei der einfallsvektor, n der normalenvektor der reflexionsfläche ausfallsvektor : b = a + n (vektoren lassen sich hier denkbar schlecht darstellen, aber ihr wisst was gemeint ist) mit hilfe des skalarprodukts von b und n kann man dann den winkel berechnen. |