Abprallen einer Kugel an einer Wand(2D)
-
Hallo,
ich habe folgendes Problem.
Ich bin dabei einen Simulator mit C++(Opengl) zu schreiben, in dem Kugeln an Wänden abprallen. Um den Bewegungsvektor von meiner Kugel V' nach dem Abprall auszurechnen wollte ich diese Formel aus Wikipedia benutzen ( http://en.wikipedia.org/wiki/Reflection_(linear_algebra) ):V' = V - 2 (( V*N ) / N*N ) ) l - V
V = Bewegungsvektor , N = Normale von meiner Wand
Das hab ich dann so umgesetzt:
V[0] = V[0] - 2* (( V[0]*V[0] + V[1]*V[1]) / ( N[0]*N[0] + N[1]*N[1] ) ) * N[0] - V[0];
V[1] = V[1] - 2* (( V[0]*V[0] + V[1]*V[1]) / ( N[0]*N[0] + N[1]*N[1] ) ) * N[1] - V[1];
Ich bin mir nicht sicher ob ich des mit der Vektor Multiplikation richtig versanden habe, oder ob meine Normale oder der Bewegungsvektor erst auf die Länge von 1 gebracht werden muss. Aufjedenfall prallen die Kugeln nicht so ab wie sie es sollen.

Naja würde mich auf Antworten freuen!
-
so pauschal kann man das meiner Meinung garnicht sagen.
Es kommt auch auf Das Material von Wand und ball an (elastizität). Wenn du das bestimmt hast, solltest du die Flugbahn zur Wand errechnen. Dann beim AUfprall wird der Vektor der Kraft der Wand und der Das Balles subtrahiert und der Rest stößt dann im passenden Apprallwinkel mit der Restkraft deines Vektors wieder ab und fliegt dann in einer passenden Flugbahn wieder zurück.
Nun bin ich kein Physikstudent oder so, also will nicht behaupten, dass das alles so stimmt, imho aber schon.
Gruß Sebastian