Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Пиривет сайт с работой закладчиком Работа курьером Значение финансов в повседневной жизни известно каждому, но что делать, если зарплата на постоянной работе невелика или ее вообще нет? Если у Вас нет профессии или возникли иные сложности, то...
Модные тренды медицинской одежды - новая эра стиля и комфорта в 2024 году https://fkmed.r... C нами Вы убедитесь: качественная, комфортная и модная медицинская одежда существует! В каталоге на сайте представлена медицинская одежда для врачей и...
14 070 руб https://www.eco... 38 900 руб https://www.eco... и выберите из списка ниже: Купить в 1 клик https://www.eco... По типу двигателя снегоотбрасыватель может быть: Купить в 1 клик https://www.eco...
Все изделия хорошо сидят на фигуре и отличаются высокой степенью комфортности https://fkmed.r... Комбинированные ткани с применением хлопка и синтетики - это оптимальный вариант для пошива формы https://fkmed.r... Специальная пропитка...
53 990 руб https://www.eco... Экономия 4 160 руб https://www.eco... Купить в 1 клик https://www.eco... Главными элементами устройства являются двигатель, металлический или пластиковый корпус и лопасти для уборки снега https://www.eco... Тип...

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Скриншот к примеру
Среда программирования: 
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.zip14.02 кб