Нарисовать фрактал Dragon Curve - C#
Формулировка задачи:
Прошу помочь. Проект прикреплен снизу. Вот сам текст задачи:
"Алгоритм построения фрактала читайте в комментариях в классе DragonFractalTask.
Как генерировать случайные числа?
Для этого в пространстве имен System есть класс Random. Работать с ним нужно так:
1. Создание нового генератора последовательности случайных чисел:
var random = new Random(seed);
seed — число полностью определяющее все последовательность псевдослучайных чисел этого генератора.
2. Получение очередного псевдослучайного числа от 0 до 9:
var nextNumber = random.Next(10);
Если при инициализации генератора случайных чисел не указывать seed, то используется текущее время компьютера с точностью до миллисекунд. Поэтому если вы создадите два генератора подряд, то с большой вероятностью они проинициализируются одинаково и будут выдавать одну и ту же последовательность.
Типичная ошибка начинающих — поместить обе операции внутрь цикла, тогда как правильно вынести создание генератора за пределы цикла, оставив внутри только получение следующего числа."
Решение задачи: «Нарисовать фрактал Dragon Curve»
textual
Листинг программы
var x = 1.0; var y = 0.0; var angle45 = Math.PI * 45 / 180; var angle135 = Math.PI * 135 / 180; var random = new Random(seed); for (int i = 0; i < iterationsCount; i++) { var nextNumber = random.Next(1, 3); if (nextNumber == 1) { var x1 = (x * Math.Cos(angle45) - y * Math.Sin(angle45)) / Math.Sqrt(2); var y1 = (x * Math.Sin(angle45) + y * Math.Cos(angle45)) / Math.Sqrt(2); x = x1; // !!! y = y1; // !!! } if (nextNumber == 2) { var x1 = (x * Math.Cos(angle135) - y * Math.Sin(angle135)) / Math.Sqrt(2) + 1; var y1 = (x * Math.Sin(angle135) + y * Math.Cos(angle135)) / Math.Sqrt(2); x = x1; // !!! y = y1; // !!! } pixels.SetPixel(x, y);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д