С чего начинать программирование физических симуляции?
Например деформация машин, посмотреть, как тела будут вести себя с разным строением
Симуляция например Гравитации, симуляция света, пружины, дождя, снега, ветра, газа И Тому Подобное?
Есть компьютерная симуляция физический явлений и процессов как часть математического моделирования на ЭВМ. Вы про неё? А сами что-то уже делали в этом плане? Я имею в виду самые простые вещи: например, движение в воздушной среде выпущенного из орудия снаряда, моделирование математического маятника (однозвенного, двузвенного, N-звенного), установившееся распределение температур в теле простой конфигурации (скажем, в параллелепипеде с заданными на его гранях температурами) и т.д.
Вот прoстейшая система Коши для движения материальной точки с известным начальным импульсом:
d²x/dt² = -α•dx/dt, x(0) = 0, x'(0) = v•cos(φ)
d²y/dt² = -g - α•dy/dt, y(0) = h, y'(0) = v•sin(φ)
Решите её и постройте график движения объекта! И хотя, вообще-то, во внешней баллистике задачи вовсе не такие уж и примитивные, но начинать всегда надо как раз с простейшего!
Задача Коши для маятника с нулевым начальным импульсом и без учёта диссипации энергии в нём:
d²φ = (-g/l)•sin(φ), φ(0) = φ₀, φ'(0) = 0 (l - длина маятника, g - ускорение свободного падения, φ₀ - начальный угол отклонения от вертикали отвеса).
Тут не так уж трудно сделать анимацию объекта. Но всё же визуализация данных - это отдельная тема, лишь косвенно связанная с компьютерной симуляцией как таковой.
Для определения установившегося температурного режима внутри тела по его внешним характеристикам требуется решать краевую задачу для эллиптическое уравнение Лапласа
∆u ≡ ∂²u/∂x² + ∂²u/∂y² + ∂²u/∂z² = 0
Справитесь с этим? На Паскале, С/С++, C# или Яве в данном случае работы минут на двадцать, а на Пайтоне и того меньше, не взирая на то, что он самый медленный.
Как только появится маломальский опыт моделирования, можно будет как угодно углубляться дальше и в предметные области, и в программирование на ЭВМ.
С построения математической модели.
Привет, от себя могу посоветовать книги, которые мне помогали в изучении, они на английском, но пару книг видел и на русском. Программирование физических симуляций - это очень интересная область, которая требует понимания основ физики, математики и программирования. Вот несколько книг, которые могут помочь вам начать программировать физические симуляции:
"Physics for Game Developers" by David M. Bourg:
Эта книга охватывает основы физики, которые могут быть применены к созданию реалистичных игровых симуляций. Она также включает практические примеры кода на языке программирования C++.
"Game Physics Engine Development: How to Build a Robust Commercial-Grade Physics Engine for your Game" by Ian Millington:
Автор этой книги рассматривает создание физического движка для игр, включая такие аспекты, как коллизии, динамика твердых тел и другие элементы физических симуляций.
"Real-Time Collision Detection" by Christer Ericson:
Эта книга сфокусирована на алгоритмах и техниках обнаружения столкновений в реальном времени. Хороший ресурс для тех, кто интересуется созданием реалистичных физических симуляций.
"Computer Simulation of Liquids" by Michael R. Moldover:
Эта книга охватывает моделирование жидкостей, что может быть полезно, если вы интересуетесь симуляциями, связанными с водой, газами и т. д.
"Essential Mathematics for Artificial Intelligence" by Jeffrey L. Elman:
Хотя ориентирована на искусственный интеллект, эта книга предоставляет хороший обзор математических концепций, которые могут быть полезны при программировании физических симуляций.
"An Introduction to Computer Simulation Methods: Applications to Physical Systems" by Harvey Gould:
Эта книга охватывает общие методы компьютерного моделирования и симуляций в контексте физических систем.
"GPU Gems 3" edited by Hubert Nguyen:
Книга с фокусом на использование графических процессоров для симуляций, включая физические.
"Physics-Based Animation" by Erleben, Sporring, Henriksen, Dohlmann:
Эта книга обсуждает основы и продвинутые темы в физике анимации, что может быть полезно при создании реалистичных анимаций.
А это несколько книг на русском языке, которые могут быть полезны при изучении программирования физических симуляций:
"Разработка игр под Android" автора Майкла С. Медина:
Книга ориентирована на разработку игр под Android, но включает разделы о создании физических симуляций для мобильных устройств.
"Python. Подробное руководство" Марка Саммерфильда:
В этой книге есть разделы о математике и физике в контексте использования Python для создания симуляций.
"Игровая физика" Дэвида Э. Эбера:
Книга охватывает основы физики, применяемой в играх, включая коллизии и динамику твердых тел.
"OpenGL. Программирование трехмерных игр" Сергея Смирнова:
Хотя книга в основном посвящена OpenGL и трехмерной графике, она также включает разделы о создании физических эффектов.
"Unity 3D. Профессиональная разработка игр для iOS и Android" Максима Ушкова:
Книга о Unity 3D включает разделы о физическом моделировании в играх.
"Программирование игр и головоломок" Федора Г. Владимирова:
Эта книга включает в себя примеры программирования игр, в том числе их физических аспектов.
"Игры и программы на C++ для начинающих" Вадима Яценко:
Книга предоставляет введение в программирование игр на C++, включая физическую симуляцию.
Если помог немного, лайк с тебя)
С изучения теории. Ты должен теоретически это знать.
Затем изучить, как математически это моделировать.
А затем уже, как все это вбить в код и визуализировать
Начинать нужно с умения конвертировать математические формулы, описывающие физические процессы, из языка учебника физики в язык программирования...