Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Моделирование-1

Визуализация траектории движения тела по дуге и после отрыва

Описание

Этот проект позволяет визуализировать движение тела по дуге окружности с учетом трения, а также его последующую траекторию после отрыва от дуги. Построение графиков осуществляется с использованием библиотеки 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(θ) — вертикальная компонента скорости при отрыве.

Как использовать

Запуск программы:

  1. Убедитесь, что установлены все необходимые библиотеки Python.
  2. Запустите файл скрипта main.py.

Настройка параметров:

Перед запуском программы задайте в коде значения для следующих параметров:

  • Масса тела (m): масса движущегося тела (в килограммах).
  • Радиус дуги (R): радиус окружности, по которой движется тело (в метрах).
  • Коэффициент трения (μ): коэффициент трения между телом и поверхностью.
  • Угол дуги (θ): угол дуги, выраженный в радианах.
  • Ускорение свободного падения (g): значение ускорения свободного падения (обычно 9.81 м/с²).
  • Шаг времени (dt): шаг временной дискретизации для моделирования.
  • Точность для бинарного поиска (difference): минимальная разница для достижения точного значения минимальной скорости.

График:

После запуска программы будет построен график, на котором отображены:

  • Дуга движения тела (синяя линия),
  • Траектория тела после отрыва (пунктирная оранжевая линия),
  • Граница земли (чёрная пунктирная линия).

Требования

  • Python 3.x
  • Библиотеки:
    • numpy
    • matplotlib

Видео

Screen.Recording.2024-12-25.at.15.47.49.mov

Видео угол < 90

Screen.Recording.2025-01-05.at.01.58.40.mov

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages