Этот проект позволяет визуализировать движение тела по дуге окружности с учетом трения, а также его последующую траекторию после отрыва от дуги. Построение графиков осуществляется с использованием библиотеки matplotlib. Пользователь может задать параметры системы, такие как масса тела, радиус дуги, коэффициент трения, угол дуги и ускорение свободного падения.
Программа отображает график с дугой окружности и траекторией тела после отрыва, учитывая начальную скорость и воздействие силы тяжести.
-
Работа силы трения: Работа силы трения, совершаемая вдоль дуги окружности, вычисляется по формуле:
Aтр = μ · N · S,
где:
N = (m · v²) / R + m · g · cos(θ) — сила нормальной реакции,
S = R · θ — длина пути вдоль дуги. -
Кинетическая энергия: Кинетическая энергия тела на любом участке дуги определяется как:
Eкин = 1/2 · m · v²
-
Минимальная скорость для прохождения дуги: Минимальная скорость, необходимая для прохождения дуги с учетом силы трения и изменения потенциальной энергии, определяется методом бинарного поиска. Эта скорость вычисляется как скорость, при которой тело сможет пройти всю дугу без остановки, учитывая влияние силы трения. В коде минимальная скорость вычисляется через бинарный поиск для нахождения значения скорости, при котором тело сможет пройти весь путь по дуге:
vmin = (vlow + vhigh) / 2
Где
v_lowиv_high— это границы поиска, которые сужаются до тех пор, пока разница между ними не станет меньше заданной точности. -
Траектория свободного падения после отрыва: После отрыва тела от дуги его движение описывается с помощью параметрических уравнений для координат по осям X и Y:
xсв(t) = xотрыва + vx · t
yсв(t) = yотрыва + vy · t - 0.5 · g · t²
где: - vx = vmin · cos(θ) — горизонтальная компонента скорости при отрыве, - vy = vmin · sin(θ) — вертикальная компонента скорости при отрыве.
- Убедитесь, что установлены все необходимые библиотеки Python.
- Запустите файл скрипта
main.py.
Перед запуском программы задайте в коде значения для следующих параметров:
- Масса тела (m): масса движущегося тела (в килограммах).
- Радиус дуги (R): радиус окружности, по которой движется тело (в метрах).
- Коэффициент трения (μ): коэффициент трения между телом и поверхностью.
- Угол дуги (θ): угол дуги, выраженный в радианах.
- Ускорение свободного падения (g): значение ускорения свободного падения (обычно 9.81 м/с²).
- Шаг времени (dt): шаг временной дискретизации для моделирования.
- Точность для бинарного поиска (difference): минимальная разница для достижения точного значения минимальной скорости.
После запуска программы будет построен график, на котором отображены:
- Дуга движения тела (синяя линия),
- Траектория тела после отрыва (пунктирная оранжевая линия),
- Граница земли (чёрная пунктирная линия).
- Python 3.x
- Библиотеки:
- numpy
- matplotlib