Система частинок

Матеріал з Вікіпедії — вільної енциклопедії.
Jump to navigation Jump to search
Приклад системи частинок в двовимірної графіку.
Приклад системи частинок в двовимірної графіку.
Приклад системи частинок в двовимірної графіку.
Система частинок, що симулює вогонь, створена в 3dengfx
Система частинок, що симулює галактику, створена в 3dengfx
Система частинок, що симулює вибух бомби, створена в particleIllusion

Система частинок — використовуваний в комп'ютерній графіці спосіб подання 3D об'єктів, що не мають чітких геометричних меж (різні хмари, туманності, вибухи, струмені пари, шлейфи від ракет, дим, сніг, дощ тощо). Системи частинок можуть бути реалізовані як в двовимірній, так і в тривимірній графіці.

Принцип[ред.ред. код]

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

В даний час (березень 2009) не існує загальноприйнятої реалізації систем частинок. У різних іграх і програмах 3D моделювання властивості, поведінку і зовнішній вигляд частинок можуть принципово відрізнятися.

У більшості реалізацій, нові частинки випускаються так званим «емітером». Емітером може бути точка, тоді нові частинки будуть виникати в одному місці. Так можна змоделювати, наприклад, вибух: емітером буде його центр. Емітером може бути відрізок прямої або площини: наприклад частинки дощу або снігу мають виникати на високо розташованій горизонтальній площині. Емітером може бути і довільний геометричний об'єкт: в цьому випадку нові частинки будуть виникати на всій його поверхні.

Протягом життя частка рідко залишається в спокої. Частинки можуть рухатися, обертатися, міняти свій колір або прозорість, і стикатися з тривимірними об'єктами. Часто у частинок задана максимальна тривалість життя, після закінчення якого частинка зникає.

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

Розширення функціональності[ред.ред. код]

До частинок можуть бути застосовані просторові деформації: силові поля, які можуть змінювати вектор руху, швидкості та інші параметри частинок. Приклади таких деформацій - вітер, гравітація, ударна хвиля. Просторові деформації мають візуальне уявлення тільки в програмі для їх редагування, але вони змінюють параметри керованих ними часток.

Застосування[ред.ред. код]

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

Посилання[ред.ред. код]