Сейчас работаем

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

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

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

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

Рисунок 1

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

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

Рисунок 2

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

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

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

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

  • Автор работы: Mavr
Похожие работы
Тип Название Рейтинг Категория Стоимость
Исходник Кривые Гильберта C# WinForms 0 Компьютерная графика 300,00
Лабораторная Блокнот с графичиским ключом C#, WinForms 0 .NET (C#) 2 000,00
Исходник Ортогональная и аксонометрическая проекция C# WinForms 0 .NET (C#) 800,00
Другие работы автора
Тип Название Рейтинг Категория Стоимость
Лабораторная Аффинный и аффинный рекуррентный шифры C# WinForms 0 Информационная безопасность 300,00
Исходник Гномья сортировка Gnome Sort C# 0 Алгоритмы 300,00
Исходник Игра Тетрис C# 0 .NET (C#) 1 500,00
Комментарии (0)

Mavr

/ /

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

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

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

300,00 

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

Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически.
Автор посчитал, что файлы для этой работы не нужны
Оцени работу

рейтинг

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

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