Ich hab mal schnell ne (häßliche) Skizze gemacht.
Die Kugel kommt angerollt und prallt unter dem Winkel alpha von der Wand ab.
Du siehst, dass beta = 180 - 2*alpha ?
Sagen wir, die Kugel hat den Richtungsvektor (-2,-1) und wird die Wand in Punkt (1/3) treffen unter alpha = 35°,
so ist beta = 180-70 = 110°.
Du musst jetzt nur noch den Richtungsvektor (-2,-1) um 110 Grad drehen, und die Kugel dann vom Punkt des Abpralls (1/3)
mit diesem Vektor weiterlaufen lassen.
Du rechnest für den Vektor erst den Winkel des eingehenden Vektors aus, arctan(y/x), ziehst davon dann beta ab, und hast den ausgehenden Winkel gamma.
Im Beispiel: Gamma = arctan(-1/-2) - 110 = -83.435° (relativ zur X-Achse)
Dann musst du aus Gamma die zwei Koordinaten berechnen, so dass die Kugel hinterher die gleiche Geschwindigkeit hat wie vorher. Du nimmst erstmal an, der X-Wert sei eins, dann rechnest du den Y-Wert aus. Ganz einfach mit Y = tan(gamma).
Y = tan -83.435° = 5.411
Also fliegt die Kugel mit dem Vektor (1/5.411) weiter.
Dieser Vektor repräsentiert aber nicht die Geschwindigkeit der Kugel, dazu musst du ihn erst normieren (durch seine Länge teilen, dann hat er die Länge eins) und anschließend mit der alten Geschwindigkeit malnehmen (Betrag von (-2/-1)).
Hoffe das war verständlich.
Selbstverständlich mache ich nachts um kurz nach zwölf auch Fehler
