|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 25 Jun 2002 08:41:58 To : Roman Vinogradov Subject : Re: Огонь -------------------------------------------------------------------------------- Однажды 24-Jun-02 в 19:14 Roman Vinogradov (via gate) написал All по поводу -=- Огонь -=- RV> From: "Roman Vinogradov" <roma-vin@mtu-net.ru> RV> Привет всем! RV> Может кто помнит паскалевскую прогу, рисующую красивый огонь? RV> Kто может подсказать алгоритм, как это реализовано? Собственно, ключевое слово здесь "красивый". Hо тут уж каждый волен проявлять свой вкус. Вкратце, алгоритм огня сводится к тому, что (для полноэкранного "огня") устанавливается градиентная палитра черный-красный-желтый-белый, в нижней строке за пределами экрана помещается строка затравки, содержащая сгенерированный по случайному закону ряд точек, имеющий минимальное и максимальное значение цвета (0 и 255). Затем в цикле экран блурится и сдвигается вверх на одну точку. Вот маска, по которой происходит блур, и влияет на то, как будет выглядеть "огонь". Kак правило, маску делают асимметричной, а зачастую и такой, чтобы эта асимметрия одновременно избавляла от необходимости сдвигать поле на каждом шаге. Вкратце - все. Hо существует много тонкостей, чтобы это все работало быстро и выглядело красиво. До свидания, в 08:35 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053D182CD7.html, оценка из 5, голосов 10
|