Множество сил, действующих на частицы, {f,}, определяет поведение системы. Эти силы могут порождаться взаимодействием частиц, которое, в свою очередь, зависит от их текущего состояния, а значит, изменяется во времени. В модель можно включить основные физические явления, которые приводят к возникновению этих сил, например упругость пружины, или некоторые физические ограничения. Можно также моделировать в системе и внешние силы, например воздействие поля гравитации. Тщательно продумав модель сил, действующих на систему, можно воспроизвести в ней те или иные варианты развития событий.
Состояние системы в динамике вычисляется численными методами решения дифференциальных уравнений, хорошо известными специалистам. При этом весь интервал наблюдения разбивается на такты, и на каждом такте вычисляются силы, действующие на п частиц (силы задаются функциями, определенными пользователем), и новое состояние частиц, которое является следствием приложения этих сил. Последнее как раз и вычисляется методами численного интегрирования дифференциальных уравнений. Конечная процедура каждого цикла - отображение нового состояния частиц на экране с учетом атрибутов соответствующих графических объектов. Следовательно, фрагмент программы на псевдокоде, реализующей один цикл вычислений, будет иметь примерно такой вид:
float time, delta;
float state[6n], force[3n];
state=get_initial_state();
for(time=tO; time<time_final; time+=delta)
{
/* Вычисление сил */ force=force_function(state, time);
/* Стандартная процедура интегрирования системы дифференциальных уравнений */ state=ode(force, state, time, delta);
/* Отображение результатов */ render(state, time);
}
Основной компонент программы, на который программист тратит больше всего сил при разработке конкретного приложения, - функции вычисления сил, действующих на частицы.
11.3. Ньютоновы частицы
11.3.1. Несвязанные частицы
Частицы могут взаимодействовать как друг с другом в рамках системы, так и с окружающим систему миром, причем каждый вид взаимодействия порождает свои силы, воздействующие на элементы системы. Если силы, действующие на определенную частицу, не зависят от других частиц системы, то силу, приложенную к /-й частице, можно представить в виде уравнения