|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Aleksey Malov 2:5052/30.8 09 Nov 2001 14:36:19 To : Mihail Popov Subject : Mandelbrot set --------------------------------------------------------------------------------
Thu 8 Nov 2001, at 20:57:06 Mihail Popov told All about Mandelbrot set.
MP> Существует-ли в природе алгоритм быстрого построения subj?
Hасколько мне известно, честного алгоритма нет. Однако можно сделать
фрактальный зум (непрерывное "падение" внутрь сабжа) в реалтайме. Заранее
расчитываются промежуточные фазы сабжа, каждая из которых представляет собой
предыдущую, увеличенную, скажем вдвое. Желательно, чтобы разрешение у них было
повыше, чем у окна вывода в 2 раза. (Т.е. для окошка 256*256 нужны фазы размером
512*512). Их можно чем-нибудь таким хорошим упаковать (да хоть тем же jpeg'ом).
Далее, нужно 2 буффера 512*512 (в нашем случае). В первый буффер распаковываем
текущую фазу, и начинаем ее плавно (фаз этак за 20-30 при 60 fps) зумить от
размера вдвое меньшего (спрайт размером 512*512 целиком помещается в окошко
256*256) до оригинального размера, паралельно с этим разпаковывая следующую фазу
фрактала в другой буффер. Как только текущая фаза будет прозумлена до нормальных
размеров, буффера меняются местами. Hужно только следить, чтобы за время зуминга
одной фазы следующая успела распаковаться. Все это хозяйство желательно делать с
каким-нибудь блендингом, motion blur'ом и т.п., чтобы не были особо видны
скачкообразные увеличения детализации.
Кстати, если мощность машины позволяет, можно вместо распаковки промежуточных
фаз, честно считать их.
Скажу лишь, что даже на Спектруме с его 3.5 MHz и 8-битным процессором мною был
реализован 15 секундный фрактальный зуминг в разрешении 60*32*8 со скоростью 50
fps. Код и данные занимали в сумме около 32 килобайт. За это время успело
сгенериться около 750 кадров. Если есть желание, можешь стянуть с ориджина дему
Stellar Contour (там этот эффект можно наблюдать). Правда эмуль нужен хороший
(подробности мылом, если надо).
Bye, Mihail.
WBR, Vivid^Brainwave.
--- Lara Croft за 4.50 $.
* Origin: http://brainwave.dax.ru (2:5052/30.8)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/276704961653.html, оценка из 5, голосов 10
|