Wenn die Kugel auf eine nicht waagrechte(oder auch senkrechte) gerade fällt, drehst du das Koordinatensystem um eben jenen Winkel, sodass du den einfacheren Fall einer Gerade parallel zur x oder y - Achse hast. Hier die neue Richtung berechnen und anschließend wieder zurückdrehen.
Ich hoffe in der Skizze erkennt man einigermaßen was ich meine (Paint
)
Ja, die Skizza ist logisch ^^: Einfallswinkel = Ausfallswinkel, Klass6
2. Lösungsansatz. Er sieht vom Ergebnis her besser aus, aber irgendetwas ist noch falsch:
Delphi-Quellcode:
//Neue Richtung:
Richtung.y := Richtung.y * (cos(Alpha)-sin(Alpha));
Richtung.x := Richtung.x * (sin(Alpha)+cos(Alpha));
Richtung.y := -Richtung.y;
Ich glaube, ich muss den Vektor nochmal drehen oder so, aber ich steh grade total auf'm Schlauch...