(я не знаю, как разместить графику; терпите меня.)
Хорошо, у нас есть две сферы с радиусами r1 и r2, начинающиеся в точках X1 и X2, движущиеся со скоростями V1 и V2 (X и V - векторы).
Скорость сферы 1, если смотреть из сферы 2, равна
V = V1-V2
и его направление
v = V/|V|
Дистанция сферы 1 должна пройти (в рамках сферы 2) до ближайшего сближения
s = Xv
А если X - начальное расстояние, то расстояние ближайшего приближения равно
h = |X - Xv|
Это где графика поможет. Если h> r1 + r2, столкновения не будет. Предположим, что h
u = sqrt((r1 + r2)^2 - h^2)
Таким образом, пройденная сферой сфера 1 равна
s - u
Теперь просто посмотрите, перемещается ли сфера 1 так далеко за данный интервал Если так, то вы точно знаете, когда и где были сферы (вы должны отойти от рамки сферы 2, но это довольно просто). Если нет, то столкновения нет.