Система частиц

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Пример системы частиц в двумерной графике.
Пример системы частиц в двумерной графике.
Пример системы частиц в двумерной графике.
Система частиц, симулирующая огонь, создана в 3dengfx
Система частиц, симулирующая галактику, создана в 3dengfx
Система частиц, симулирующая взрыв бомбы, создана в particleIllusion

Систе́ма части́ц — используемый в компьютерной графике способ представления объектов, не имеющих чётких геометрических границ (различные облака, туманности, взрывы, струи пара, шлейфы от ракет, дым, снег, дождь и т. п.). Системы частиц могут быть реализованы как в двумерной, так и в трёхмерной графике.

Принцип[править | править вики-текст]

Система частиц состоит из определённого (фиксированного или произвольного) количества частиц. Математически каждая частица представляется как материальная точка с дополнительными атрибутами, такими как внешний вид, скорость, ориентация в пространстве, угловая скорость, и т. п. В ходе работы программы каждая частица изменяет своё состояние по определённому, общему для всех частиц системы, закону. Например, частица может подвергаться воздействию гравитации, менять размер, цвет, скорость и так далее, и, после проведения всех расчётов, частица визуализируется. Частица может быть визуализирована точкой, треугольником, спрайтом, или даже полноценной трёхмерной моделью. При моделировании физики жидкостей часто используются метасферы, которые "сливаются" между собой.

В настоящее время (март 2009) не существует общепринятой реализации систем частиц. В разных играх и программах 3D моделирования свойства, поведение и внешний вид частиц могут принципиально отличаться.

В большинстве реализаций, новые частицы испускаются так называемым «эмиттером». Эмиттером может быть точка, тогда новые частицы будут возникать в одном месте. Так можно смоделировать, например, взрыв: эмиттером будет его центр. Эмиттером может быть отрезок прямой или плоскость: например частицы дождя или снега должны возникать на высоко расположенной горизонтальной плоскости. Эмиттером может быть и произвольный геометрический объект: в этом случае новые частицы будут возникать на всей его поверхности.

На протяжении жизни частица редко остаётся в покое. Частицы могут двигаться, вращаться, менять свой цвет и/или прозрачность, и сталкиваться с трёхмерными объектами. Часто у частиц задана максимальная продолжительность жизни, по истечении которого частица исчезает.

В трёхмерных приложениях реального времени (например в компьютерных играх) обычно считается, что частицы не отбрасывают тени друг на друга, а также на окружающую геометрию, и что они не поглощают, а излучают свет. Без этих упрощений обсчёт системы частиц будет требовать больше ресурсов: в случае с поглощением света потребуется сортировать частицы по удалённости от камеры, а в случае с тенями каждую частицу придётся рисовать несколько раз.

Расширение функциональности[править | править вики-текст]

К частицам могут быть применены пространственные деформации: силовые поля, которые могут изменять вектор движения, скорости и другие параметры частиц. Примеры таких деформаций — ветер, гравитация, ударная волна. Пространственные деформации имеют визуальное представление только в программе для их редактирования, но они изменяют параметры управляемых ими частиц.

Применение[править | править вики-текст]

Простые системы частиц применяются практически во всех современных компьютерных играх и пакетах 3D моделирования. Система может быть очень сложной и применяться не только в графике, но и в научных расчётах: например, с помощью учитывающей законы физики системы частиц можно смоделировать поведение молекул газа.

Ссылки[править | править вики-текст]