Da ich gerne eine eigene "Physik-Engine" haben möchte
Na da hast du dir ja was vorgenommen.
Ich kann dein Problem nicht ganz nachvollziehen, aber es klingt für mich eher nach einem Bug in deinem Programm als nach einem grundlegenden Problem, obwohl es davon bei Physik-Engines auch genügend gibt.
Zitat:
Sobald der Körper auf den Boden trifft, wird ein Teil der Geschwindigkeit abgezogen und der Rest negiert (also fliegt der Körper dann nach oben), bis die Beschleunigung auch diese wieder umgekehrt hat und so weiter...
Kann es sein, dass das Abziehen das Problem ist? Angenommen, deine aktuelle Geschwindigkeit ist 15 und du ziehst 30 ab. Dann ist deine neue Geschwindigkeit -15. Anschließend negierst du den Wert und bist wieder bei 15.
Probier mal, statt einen festen Wert abzuziehen, den alten Wert mit einem Faktor (z.B. 0.8) zu multiplizieren. Dürfte eh realistischer sein.