Кривые Гильберта C# WinForms

Кривые Гильберта названы в честь немецкого математика Давида Гильберта. Впервые они были описаны в 1891 году.

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

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

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

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

При каждом рекурсивном вызове процедура уменьшает параметр «глубина рекурсии» на единицу. Если процедура вызывается с глубиной рекурсии, равной 1, она выводит простую кривую 1-го порядка, показанную слева на рисунке 1, и завершает работу. Это основное условие остановки рекурсии.

Рисунок 1

Например, кривая Гильберта 2-го порядка состоит из четырех кривых Гильберта 1-го порядка. Точно также кривая Гильберта 3-го порядка составлена из четырех кривых Гильберта 2-го порядка, каждая из которых включает четыре кривых Гильберта 1-го порядка. 

Код программы реализован на языке C#. Пример кода приведен на рисунке 2.

Рисунок 2

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

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

Публикуй

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

Зарабатывай

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

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

300,00 

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

CurveHilbertCSharp.zip
61052
Оцени работу

рейтинг

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

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

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

Mavr

/ /

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

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

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