Wie ich schon sagte, es wäre toll, wenn man dem Ball ein "Gewicht" zuweisen könnte.
Naja aber wenn das sich dann nicht auswirkt, kommt dabei nicht mehr raus als dass der Ball eine Eigenschaft gewicht = x hat, die nirgends verwendet wird :-)
Ich denke das hier ...
Ein leichterer Ball springt öfter auf
... ist vielleicht gerade damit zu erreichen, dass du an der Abprallgeschwindigkeit des Balls drehst. Ich könnte mir vorstellen dass der Effekt damit zusammenhängt, dass ein schwerer Ball mehr Energie in die Verformung von sich und dem Untergrund übergibt als ein leichter. Daher hat er weniger Energie beim Hochhüpfen und kommt somit nicht mehr ganz so hoch.
Ich habs mir jetzt doch näher angesehen, dein imitSpeed sieht etwas seltsam aus, von 31 auf 10 ist eine ziemliche Abnahme. Dabei ist mir dann was aufgefallen.
Ich sehe dass du mit y=0 den Startpunkt des Balls bezeichnest. Sinnvoller wäre es, den Untergrund mit 0 zu bezeichnen und dann nach oben hin die Höhe ansteigen zu lassen.
In deinem Fall hast du wahrscheinlich falsche Werte beim Berechnen, weil du nicht von der eigentlichen Höhe (gemessen vom Boden bis zum Ball) ausgehst, sondern von der Differenz zwischen Start und aktueller Höhe.
Dreh das mal um, dann solltest du eigentlich einen dauerhaft springenden Ball haben. Dem nimmst du dann bei jedem Aufprall noch ein bisschen Energie weg, dann sollte das schon realistisch werden.