Призвали экспертом - придётся отвечать, хотя те знания, которые я по части упругости получил в курсе сопромата, весьма давнишние.
Итак, тут придётся привлечь понятия из сопромата - механическое напряжение и модуль упругости (измеряются в силе на единицу площади сечения исследуемого материала). Из модуля упругости можно вычислить (или прикинуть) деформацию образца под действием данной силы. Величина деформации - это уже дистанция пути, на котором происходит торможение одного предмета, стукнувшегося о другой. Если известна скорость движения предмета и путь торможения, то легко определяется время этого торможения, с некоторым допущением (скажем, что торможение будет по линейному закону или по какой-то кривой).
Теперь о нюансах. Если сталкиваются шары, то область деформации не остаётся постоянной, она растёт по мере внедрения одного шара в другой - от начальной точки соприкосновения до круга. Следовательно, деформация будет нелинейной, и её придётся как-то аппроксимировать. Второй нюанс - деформация в реальных материалах не абсолютно упруга, часть её энергии уйдёт в тепло, и это тоже надо как-то учесть.
И наконец, последнее. Если всю эту физику надо будет переводить в код, то имеет смысл прошерстить то, что по этой части сделано до вас. Мне не верится, что столь распространённая задача не оставила в анналах программирования следов предыдущих попыток её решения.