Сижу без работы. Вот, сочинил программу за последний месяц.
Хотя этой темой интересуюсь очень давно.
О программе PartsLV версия 1.6
Программа предназначена для моделирования поведения множества частиц при различных параметрах их взаимодействия. В результате Вы можете наблюдать анимацию, как процесс вычисления взаимодействия частиц.
Моделирование происходит в объёме. 3-е измерение отображается как градация серо-зелёных оттенков частиц.
Вы можете заполнить пространство случайно разбросанными частицами (кнопка Fill). Количество частиц указать можно в таблице слева. Предыдущая суперпозиция частиц сбрасывается.
Вы можете запустить или продолжить анимацию (кнопка Run).
Вы можете остановить анимацию (кнопка Stop).
Меняя размеры окна просмотра, Вы можете воздействовать на частицы как поршень в сосуде. Это потому, что частицы отскакивают от границ окна просмотра.
Для расчёта взаимодействия используется система уравнений:
da += (A – B*cos(r / T)) / r^2;
dv = dv / K + da;
x += dv;
Где:
da – вектор сил взаимодействия. Он аккумулируется по всем частицам для каждой частицы. Алгоритм порядка N^2.
A – скважность кривой взаимодействия. Принято за 1.
B – амплитуда кривой взаимодействия. Принято за 2.
r – дистанция между любой парой частиц.
T – эквивалент периода кривой взаимодействия. Это дистанция смены сил притяжения и отталкивания.
dv – вектор скорости частицы.
K – делитель скорости частицы. Он гасит инерцию для моделирования сопротивления среды.
x – вектор координат частицы.
Снизу окна программы находятся 2 бегунка для управления T (периодом смены сил) и K (делителем скорости). Они перемещаются в ограниченных диапазонах. Вы можете управлять ими даже во время процесса расчёта. Это позволяет видеть – как параметры влияют на анимацию частиц.
Программа написана на C# 2.0.
Исходный код и исполняемый файл доступны по ссылке:
https://yadi.sk/d/H8eHDStI3N5Udv
Следите за обновлением версий.
Демонстрация:
"Не все умрут, но все преобразятся"...
Во Имя Отца и Сына и Святаго Духа! Аминь?
Аллах Велик! Он объемлет всякую Вещь и вводит в заблуждение неверных, но милует праведных! Хвала Аллаху?