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

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

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

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

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

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

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

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

Рисунок 1

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

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

Рисунок 2

  • Автор работы: 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