2 месяца назад
История
README.md
План работы по моделированию движения в поле тяжести с помощью Python :
- Выбор пакета для моделирования. На GitFlic есть пакет pySimSheduler , который позволяет рассчитывать и моделировать взаимодействие нескольких тел под влиянием силы тяжести. Он написан на библиотеках Pymunk, Scipy.odeint, matplotlib и numpy.
- Определение входных данных задачи. Нужно задать начальные условия и другие параметры движения, например, начальную скорость и угол наклона тела.
- Определение числа интервалов сетки, на которой будет искаться приближённое решение.
- Выделение памяти под массив сеточных значений решения системы ОДУ. В строке с номером m этого массива хранятся сеточные значения решения, соответствующие моменту времени t_m.
- Задание начальных условий. Записываются значения в строку с номером 0 массива u.
- Отрисовка решения. Нужно построить график, который отображает траекторию движения тела.
- Выделение объекта в ball.py
Модуль движения в однородном поле тяжести в Python
Этот модуль предоставляет классы и методы для моделирования движения объектов в однородном поле тяжести. Смотреть все проекты
Импорт модуля
python import gravity_motion
Классы
Объект
- Атрибуты:
- mass (масса, кг)
- position (текущее положение, м)
- velocity (текущая скорость, м/с)
- acceleration (ускорение, м/с²)
- Методы:
- init(mass, position, velocity): инициализирует объект
- update(dt): обновляет положение и скорость объекта за промежуток времени dt
- get_position(): возвращает текущее положение объекта
- get_velocity(): возвращает текущую скорость объекта
- get_acceleration(): возвращает текущее ускорение объекта
Симуляция
- Атрибуты:
- objects (список объектов в симуляции)
- dt (промежуток времени для обновления симуляции, с)
- Методы:
- init(dt): инициализирует симуляцию
- add_object(object): добавляет объект в симуляцию
- update(): обновляет положение и скорость всех объектов в симуляции
- get_objects(): возвращает список объектов в симуляции
Использование
python
Создать объект
object = gravity_motion.Object(1.0, (0, 0), (0, 0))
Создать симуляцию
simulation = gravity_motion.Simulation(0.01)
Добавить объект в симуляцию
simulation.add_object(object)
Обновить симуляцию
simulation.update()
Получить положение объекта
position = object.get_position()
Описание
Проекты для совместной работы в стиле ООП - 2: Движение в поле тяжести
Конвейеры
0 успешных
0 с ошибкой