Среда программирования:
Notepad++
Статья по теме:
Построить аттрактор Рёсслера. Все параметры находятся в функции roesslerFractal(). Итеративная функция построит график аттрактора с указанным количеством итераций cnt и положительными постоянными a, b, c.
Код программы:
var canvas = document.getElementById("cnvs"); var ctx = canvas.getContext("2d"); function roesslerFractal() // итеративная функция, рисует фрактал gingerbread man { ctx.beginPath(); ctx.strokeStyle = 'white'; var dt = 0.0001, a = 0.2, b = 0.2, c = 5.7; var x = 3.551522, y = 1.191242, z = 14.62388; // начальные координаты var x1, y1, z1; // новые координаты var i = 0, cnt = 1000000; // cnt - количество итераций while (i < cnt) { // Вычисляем новые координаты через старые x1 = x + (-y-z)*dt; y1 = y + (x+a*y)*dt; z1 = z + (b+z*(x-c))*dt; // Запоминаем новые координаты x = x1, y = y1, z = z1; i++; // Преобразуем новые координаты var newX = Math.ceil(15.3*(y - x*0.152893) + 250), newY = Math.ceil(-13*(z + x*0.292893) + 350); // Ставим пиксель ctx.rect(newX, newY, 1, 1); } ctx.stroke(); ctx.closePath(); } roesslerFractal(); // Вызов функции
Прикрепленный файл | Размер |
---|---|
ressler_fract.zip | 14.02 кб |