Нарисовать фрактал 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5