Коэффициент восстановления и неупругий удар
Реальный мяч после каждого отскока подпрыгивает всё ниже — этим заведует коэффициент восстановления.
Коэффициент восстановления $e$ — отношение скорости разлёта к скорости сближения тел; $e=1$ — идеально упруго, $e=0$ — тела слипаются.
Шкала упругости удара
Чисто упругих ударов в природе почти нет: при столкновении часть энергии всегда уходит в тепло, звук, деформацию. Степень потерь описывает коэффициент восстановления $e$ — число от $0$ до $1$:
$$e = \frac{|v_2 - v_1|}{|u_1 - u_2|} = \frac{\text{скорость разлёта}}{\text{скорость сближения}}.$$
При $e = 1$ удар упругий (энергия сохраняется), при $e = 0$ — абсолютно неупругий (тела слипаются и движутся вместе). Реальные значения посередине: стальной шарик $e \approx 0.9$, теннисный мяч $\approx 0.75$, кусок пластилина $\approx 0$. Импульс сохраняется при любом $e$ — теряется только энергия.
Прыгающий мяч
Уроним мяч с высоты $h_0 = 2$ м. При ударе о пол его скорость уменьшается в $e$ раз, поэтому следующая высота подъёма равна $h_{n+1} = e^2 h_n$ (высота $\sim$ квадрату скорости). Возьмём $e = 0.8$ и проследим высоты отскоков.
import math
e, h, g = 0.8, 2.0, 9.8
for n in range(6):
v_impact = math.sqrt(2*g*h)
print(f"отскок {n}: высота {h:.4f} м, скорость удара {v_impact:.3f} м/с")
h = h * e*e # энергия падает в e² раз
Вывод:
отскок 0: высота 2.0000 м, скорость удара 6.261 м/с отскок 1: высота 1.2800 м, скорость удара 5.009 м/с отскок 2: высота 0.8192 м, скорость удара 4.007 м/с отскок 3: высота 0.5243 м, скорость удара 3.206 м/с отскок 4: высота 0.3355 м, скорость удара 2.565 м/с отскок 5: высота 0.2147 м, скорость удара 2.052 м/с
Высота падает геометрической прогрессией со знаменателем $e^2 = 0.64$: $2 \to 1.28 \to 0.82 \to \dots$ Скорость удара тоже убывает (в $e$ раз за отскок). Любопытно, что хотя высота стремится к нулю, полное время прыганья — конечная сумма, и мяч «успокаивается» за конечное время, совершив бесконечно много всё более частых отскоков. Этот эффект слышен как ускоряющийся стук затихающего мяча.
Абсолютно неупругий удар
При $e = 0$ тела слипаются и летят с общей скоростью. Из сохранения импульса $v_{\text{общ}} = \frac{m_1 u_1 + m_2 u_2}{m_1 + m_2}$. Энергия при этом теряется максимально. Например, при слипании тел $m_1 = 2, u_1 = 4$ и $m_2 = 3, u_2 = -1$ общая скорость равна $1$ м/с, а потеря кинетической энергии составляет $15$ Дж — она ушла в деформацию и тепло. Импульс же ($5$ кг·м/с) сохранился. Так моделируют попадание пули в мишень, стыковку кораблей, слипание капель.
Как работает под капотом
В движке коэффициент восстановления — это параметр материала. При разрешении контакта нормальная компонента относительной скорости умножается на $-e$: v_rel_n_after = -e * v_rel_n_before. При $e = 1$ получаем зеркальный отскок (как в разделе про векторы), при $e = 0$ — тела перестают сближаться вдоль нормали (слипание). Один параметр плавно перекрывает весь диапазон от резинового мячика до мокрой глины. Реалистичные значения $e$ берут из таблиц материалов, а «игровые» подбирают на ощущение.
Частые ошибки
- Думать, что при неупругом ударе теряется импульс. Теряется только энергия; импульс сохраняется при любом $e$.
- Путать $e$ и $e^2$. Скорость падает в $e$ раз, а высота отскока — в $e^2$ раз.
- Брать $e \gt 1$. Это означало бы создание энергии из ниоткуда; физически $0 \le e \le 1$.
Итог
- $e$ — коэффициент восстановления: $1$ упруго, $0$ слипание, реальные удары посередине.
- Высота отскока падает как $e^2$, скорость удара — как $e$ за отскок.
- Импульс сохраняется при любом $e$; теряется лишь кинетическая энергия.
- В движке $e$ — параметр материала: нормальную скорость умножают на $-e$.