Дымчатые аттракторы

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

Система функций, которую будем использовать в этом случае, выглядит следующим образом:

X' = sin(b * X) + c * sin(b * Y)
Y' = sin(a * X) + d * sin(a * Y)

где X, Y - точки до преобразования,
    X', Y' - точки после преобразования

Ничего сложного в коде программы нет, однако каждый раз перед ее запуском требуется вручную поправить исходный код, изменив коэффициенты:

link graphics,random

procedure main() 
local W
randomize()
W := WOpen("size=500,500")
a := -6.14
b := 2.15
c := -1.625
d := -8.9
x := -50
y := 100
every i := 1 to 50000 do {
   DrawPoint(200-50*x,200+50*y)
   x1 := x
   y1 := y
   x := xn(b,c,x,y)
   y := yn(a,d,x,y)
}
WDone()
end

procedure xn(b,c,x,y)
return sin(b*x) + c * sin(b*y)
end

procedure yn(a,d,x,y)
return sin(a*x) + d * sin(a*y)
end

Поскольку, все это дело писалось еще в прошлом году, то коэффициентов, дающих интересные картинки у меня не осталось, зато остались вот такие скриншоты:

P.S : Если найдете интересные картинки с помощью этой программки, то дайте знать нам: напишите свои коэффициенты в комментариях 😉

Добавить комментарий