![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 57
|
как программно можно сделать постоянно растущие веточки мороза на стекле, которые могут в процессе роста накладываться друг на друга?
|
|
|||||
|
Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
|
Одно время в фидошной эхе DEMO.DESIGN пролетала сцыла что в SU.GRAPHICS идет обсуждение создания морозного узора. Вот пример в псевдокоде, получишь именно растущий узор. Обрати внимание, что используются комплексные числа, это обычная вещь для фракталов. Т.е. функция Re() - взятие реальной части, Im() - взятие мнимой части. Ты можешь сам представлять комплексное число как класс или еще проще - вообще как две переменных.
- [91] Computer Graphics (2:5030/84) ----------------------------- SU.GRAPHICS - Msg : 13 of 14 From : Khrolenko Pavel 2:5045/21.9 25 Apr 96 20:43:00 To : All Subj : Морозные узоры -------------------------------------------------------------------------------- Hi All! Тута многие просили всяческие алгоритмы строящие фрактальные объекты. Вот представляю вашему вниманию алгоритм рисующий биоморф ( так по мойму это называется ). Разбираться в нем времени не было ( сессия на носу ), так что я его просто передрал из тетради. Hадеюсь пинать не будете. ![]() Z - комплексное число || - здесь мдодуль C = 0.5 + i0.0 // C - должно быть не большое
for j = 1 to 100
for k = 1 to 100
// Вычисляем Z0 - центр квадрата в пределах которого мы строим
// Re(Z0) = -1.5 + 0.03j - например таким образом
// Im(Z0) = -1.5 + 0.03k
Z = Z0
for n = 1 to 10
Z = Z^3 + C // - рабочая формула
if( Re(Z) > 10 or Im(Z) > 10 or |Z| > 10 )
// то выйти из цыкла по n
next
if( |Re(Z)| < 10 or |Im(Z)| < 10 )
// построить Plot( j, k ) черным цветом
else
// построить Plot( j, k ) белым цветом
next
next
1) sin(Z) + Z^2 + C; 2) sin(Z) + e^Z + C; 3) Z^Z + Z^6 + C. Литература по фракталам : 1) Смирнов Б.М. "Физика фрактальных кластеров" * 2) "Фракталы в физике" Под редакцией Л.Пьетронеро и Э.Тозатти ( Труды 4 международного симпозиума по фракталам в физике ). К слову : ежели кому очень нужна исчерпывающаа инф-ия по фракталам, то известно что в RealCom-е есть эха посвященная этим делам. ЗЫЖ Еще зайди по этой сцылке http://www.prodtp.ru/index.php?&act=ST&f=67&t=6931, там есть несколько формул для фракталов и соответствующие картинки, есть морозный узор. Если он не нравится (кажется "разрозненным"), можно делать несколько слоев с разными оттенками белый-голубой, будет вааще как настоящий. Последний раз редактировалось xintrea; 03.08.2006 в 13:43. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 57
|
с формулами сложновато,
пока не получается ничего... а вот чего получается с примером D12 можно как то эти узоры по кривой пускать, и не нашел как сделать что бы эти узоры оставались и начинались новые |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 57
|
блин, красиво...
спасибо iNils , буду разбираться |
|
|||||
|
Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
|
Вот держи фрактальный морозный узор из 4096 снежинок по описанному выше алгоритму. Так как снежинок много, узор строится медленно, примерно 8-10 сек на Cel1500, FlashPlayer7. Поэтому при запуске swf на просмотр, может выдваваться сообщение типа
"Эта чоза? Актионскрипт чота долга щитает. Наверна завис. Остановить это дело?" Надо ответить "Нет", фрактал досчитается, и будешь лицезреть красивую картинку. Если тебе нужно видеть как фрактал растет, раскидывай цикл на пару кадров. Последний раз редактировалось xintrea; 04.08.2006 в 14:05. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 57
|
все пытаюсь доделать морозный узор,
фракталами тормозит, сделал совсем по другому, с картинкой, но все равно тоже получается тяжело очень, (в двух архивах пришлось выложить) когда перевожу в скринсейвер тоже тормозит, может есть у кого еще какие идеи как сделать морозный узор на стекле? |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 57
|
вторая часть архива
|
|
|||||
|
Регистрация: Mar 2002
Адрес: https://webhamster.ru
Сообщений: 107
|
Ускорить построение через фрактал можно простым способом - просто исправив конструкцию
на Т.е. будут рисоваться только темные снежинки, но при этом рисунок фрактала сохранится неизменным. За счет использования одной функции отрисовки вместо двух, и отрисовки снежинок только в местах фрактальной фигуры, а не на всей поверхности, ускорение получается в несколько раз! Заодно, перестает появляться сообщение что Актион Скрипт слишком долго работает. Флешка и исходник |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|