|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Valentin Davydov 2:5020/400 19 Aug 2002 22:04:40 To : Alexey N Konoplyov Subject : Re: поведение частиц --------------------------------------------------------------------------------
> From: Alexey N Konoplyov
> <Alexey.N.Konoplyov@p512.f156.n5070.z2.fidonet.org>
> Date: Sun, 18 Aug 2002 17:18:34 +0400
>
> Задача: моделируется поведение частиц на 2d плоскости. Частцы обладают
>массой и притягиваются друг к другу исходя из общеизвестных соотношений
>F=G*m1*m2/R^2, F=m*a.
>
> Сейчас это реализовано так: на каждом шаге просчета для каждой из частиц
>высчитывается вектор ускорения, и исходя из этого ускорения корректируется
>скорость движения частицы и ее положение на плоскости.
>
> Основная проблема: нужно промоделировать большое (порядка десятков тысяч)
>число частиц, причем очень желательно - в реальном времени. Hо алгоритм, при
>помощи которого рассчитывается новое положение частиц по сути квадратичен, т.е.
>для каждой частицы проверяется воздействие на нее *каждой* из частиц. Как
>следствие - получаем низкую скорость.
>
> Вопрос - можно ли как-нибудь снизить степень сложности алгоритма? В данной
>реализации потолок - полторы тысячи объектов, один кадр в секунду. Объектов
>необходимо на порядок или два поболее.
Если распределение частиц можно параметризовать, то попробуй использовать
метод Хартри-Фока, когда движение каждой частицы рассматривается в некоем
усреднённом потенциале, который, в свою очередь, зависит от положения всех
частиц и вычисляется только один раз за итерацию. В твоей конкретной задаче
(искусственное ограничение движения частиц плоскостью), скорее всего,
придётся отдельно учитывать столкновения, то есть случаи, когда энергия
взаимодействия двух сблизившихся частиц становится сравнимой с общим
потенциалом в этом месте. Расплачиваться за скорость придётся потерей
информации: вместо траектории каждой частицы ты более-менее надёжно получишь
лишь параметры распределения.
Вал. Дав.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/65777dfaa1ed.html, оценка из 5, голосов 10
|