Кривые Серпинского C# WinForms

Кривые Серпинского названы в честь польского математика Вацлава Серпинского.

Кривая Серпинского – это непрерывная кривая, заполняющая пространство. Эти кривые также являются фракталами, они самоподобны; если вы увеличите масштаб и внимательно посмотрите на часть кривой более высокого порядка, то вы увидите, что она выглядит так же, как сама кривая.

На рисунке 1 изображены кривые Серпинского 1-го, 2-го, и 3-го порядка.

Рисунок 1

Описание алгоритма

Кривые Серпинского проще строить с помощью четырех отдельных процедур, работающих совместно. Каждая процедура выводит верхнюю, левую, нижнюю и правую части кривой Серпинского соответственно. На рисунке 2 показано, как эти процедуры образуют кривую глубины 1. Эти процедуры косвенно рекурсивные - каждая из них вызывает другие, которые после этого вызывают первоначальную процедуру.

Рисунок 2

Отрезки, составляющие кривую, изображены со стрелками, которые указывают направление их рисования. Сегменты, используемые для соединения частей, представлены пунктирными линиями.

Каждая из четырех основных кривых составлена из линий диагонального сегмента, вертикального или горизонтального и еще одного диагонального сегмента. При глубине рекурсии больше 1 необходимо разложить каждую кривую на меньшие части. Это можно сделать, разбивая каждую из двух линий диагональных сегментов на две подкривые.

Например, чтобы разбить кривую типа А, первый диагональный отрезок делится на кривую типа А, за которой следует кривая типа В. Затем без изменения выведите линию горизонтального сегмента так же, как и в исходной кривой типа А. И наконец, второй диагональный отрезок разбивается на кривую типа D, за которой следует кривая типа А.

В программе можно выбирать глубину рекурсии от 1 до 7. Программа реализована на языке C#. Пример кода программы приведен ниже.

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Купить

300,00 

(без учета комиссии 3,8 %)

CurveSierpinskiCSharp.zip
65287
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

Mavr

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Кривые Серпинского C# WinForms
Кривая Серпинского – это непрерывная кривая, заполняющая пространство. Эти кривые также являются фракталами, они самоподобны. В программе можно выбирать глубину рекурсии от 1 до 7.
Категория: Образование
Стоимость: 300,00