|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Astafiev 2:5000/228.16 15 Jan 2002 23:56:13 To : Alexander Alfimov Subject : Срочно нужен алг прорисовки огня --------------------------------------------------------------------------------
EJ>>>>> Примерно так: (X,Y)=((X,Y-1)+(X-1,Y)+(X+1,Y)+(X,Y+1)+(X,Y+2))/5
AA>
SP>> похожение на эту.
SP>> (x,y)=(x-1,y+1)+(x,y+1)+(x+1,y+1)+(x,y+2), ИМХО очень реально
SP>> получается.
AA>
AA> 10x за подсказку,но IMHO, это все сделано на банальном smooth'e
AA> меня же интересует , есть ли другие алгоритмы.
Есть. Если это 2D алгоритмы- то все они действуют по схожему принципу,
обрабатывая соседние ячейки. При этом мы допускаем предположение,
что каждая ячейка взаимодействует с соседями:
O
OXO
O
Hесколько ячеек возбуждаются эффекторами и далее возбуждение передается
к соседним ячейкам. В целом, 2d алгоритмы построены на этом.
Возбуждение, естественно, нужно передавать не тупо линейно, а слегка хаотично,
внося турбулентность, шум.
Кроме того, замечательным подспорьем будет lerp. для интерполяции значения
"пламени" между ячейкми.
У ДЖ.Стэма есть доказательство, что т.н. "обратный" алгоритм (который
пробегается по ячейкам, усредняет их и модифицирует), выполняет задачу
разрешения уравнения взаимодействия ячейки и ее 4-х соседей.
см. турбулентность жидкостей и газов
Navier-Stockes.
--- Alex Raider / Flash inc.
* Origin: Alex Raider/ Flash inc. 1992-2002 (2:5000/228.16)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/174643c44b626.html, оценка из 5, голосов 10
|