Побудова кривої Гільберта в середовищі програмування delphi

У даній статті розглядається процес створення об'єктів фрактальної графіки засобами Delphi, на прикладі побудови кривої Гільберта, від першого по сьомий порядок включно. Одним з основних плюсів при використанні розглядуваного delphi-проекту є простота інтерфейсу та можливість наочно спостерігати зображення фрактальної кривої.

kryva_gilberta_delphi1

Головне вікно проекту "Побудова кривої Гільберта"

Побудова кривої здійснюється за допомогою кнопки «Побудувати криву Гільберта» (компонент типу TButton) та поля вибору кількості ітерацій необхідних для її побудови (компонент типу TSpinEdit). Відмітимо, що на рисунку, що  міститься вище, зображено діалогове вікно програми, в якому виводиться крива Гільберта п'ятого порядку.

Читати повністю

Крива Гільберта. Побудова кривої Гільберта за допомогою рекурсії

У 1890 році італійський математик Джузеппе Пеано відкрив плоску криву з дивовижною властивістю заповнення простору: крива заповнювала одиничний квадрат і проходила через кожну його точку щонайменше один раз.

Крива Пеано заснована на поділі кожної сторони одиничного квадрата на три рівні частини, які ділять його на дев'ять менших квадратів. Крива проходить ці дев'ять квадратів в певному порядку. Потім кожен з дев'яти менших квадратів аналогічно ділиться на дев'ять частин, і крива модифікується таким чином, щоб обійти всі частини в певному порядку.

У 1891 році німецький математик Давид Гільберт відкрив варіант кривої Пеано, який базується на розподілі кожної з сторін одиничного квадрата на дві рівні частини, що ділить квадрат на чотири менші частини. Після цього, кожен з чотирьох одержаних квадратів, в свою чергу, ділиться на чотири менших квадрата і так далі. Зазначимо, що на кожній стадії такого поділу Гільберт будував криву, яка обходила всі наявні квадрати. Крива Гільберта (яку іноді називають кривою Пеано-Гільберта) являє собою граничну криву, отриману в результаті такої побудови.

Читати повністю

Побудова кривої Коха в середовищі програмування delphi

В даному параграфі міститься delphi-програма з вихідним кодом, яка демонструє приклад побудови однієї з найвідоміших фрактальних кривих, а саме криву Коха. Для того, щоб побудувати дану криву, достатньо скористатись кнопкою «Побудувати криву Коха» (компонент типу TButton), попередньо, в компоненті типу TSpinEdit, задавши кількість ітерацій необхідних для її побудови (порядок кривої Коха).

Головне вікно проекту "Побудова кривої Коха"

Зауваження: delphi-проект реалізує процес побудови кривої Коха від нульового до десятого порядку включно. Проте, даний процес можна продовжити і для більш високих ітерацій. Для цього достатньо задати необхідне значення для властивості MaxValue компонента TSpinEdit.

Читати повністю

Поняття фрактала. Крива Коха та алгоритм її побудови

Поняття фрактала з'явилося в кінці сімдесятих років минулого століття і стало широко застосовуватися математиками і комп'ютерними художниками. Фрактали знайшли широке застосування в комп'ютерній графіці завдяки компактності математичного апарату, необхідного для їх відтворення на екрані комп'ютера.

Слово фрактал походить від латинського fractus і в перекладі означає «cкладений із фрагментів». Цей термін запропонований французько-американським математиком Бенуа Мандельбротом у 1975 році для позначення самоподібних структур.

У комп'ютерній графіці використовують таке означення фрактала: фракталом називається геометрична фігура, яка складається з частин, які в певному розумінні подібні за формою на всю фігуру, тобто це геометрична фігура, в якій один і той самий фрагмент повторюється при кожному зменшенні масштабу (частина об'єкта схожа на сам об'єкт). Тобто, характерною рисою фрактала є самоподібність відносно масштабу (наприклад, гірський камінь має такі ж обриси, як і гірський хребет).

Читати повністю

Перевірка неорієнтованого графа на дводольність в середовищі програмування delphi

Дводольні графи, що виникають при розгляді задач з використанням математичних об'єктів такого типу, нерідко бувають задані множиною вершин, яка складається з двох частин та множиною ребер, кожне з яких з'єднує вершини з різних частин. У таких випадках питання про їх дводольність просто не виникає. Однак, нас буде цікавити випадок, коли інформація про те, чи заданий графа являється дводольним заздалегідь є не відомою, і потрібно це з'ясувати. Зазначимо, що саме з цією метою і було розроблено розглядуваний в даному параграфі delphi-проект.

Головне вікно проекту "Перевірка неорієнтованого графа на дводольність"

Отже, неорієнтований граф в програмі задається у вигляді вершин (пронумеровані точки) та ребер (прямі лінії). Для цього на головній формі передбачено графічний редактор (компонент типу TImage) та дві кнопки типу TSpeedButton («Додати вершину» і «Додати ребро»). Підготовка проекту до нового прикладу здійснюється з допомогою кнопки «Видалити граф» (компонент типу TButton). При натисканні на кнопку «Перевірити граф на дводольність» (також компонент типу TButton) власне і запускається алгоритм перевірки графа на дводольність.

Читати повністю

Переборний алгоритм для розфарбування вершин графа

Розфарбуванням вершин графа називається процес призначення певного кольору кожній з його вершин. Зазвичай кольори — це числа . Тоді, розфарбування є функцією, визначеною на множині вершин графа, яка приймає значення з множини .

Розмальовку можна також розглядати як розбиття множини вершин графа на підмножини, кожна з яких являється множиною вершин певного кольору. Відмітимо, що такі підмножини називаються кольоровими класами. Розфарбування називається правильним, якщо кожен кольоровий клас є незалежною множиною. Інакше кажучи, в правильному розфарбуванні будь-які дві суміжні вершини повинні мати різні кольори. Задача про розфарбовування полягає в знаходженні правильної розмальовки графа в найменше число кольорів. Це число називається хроматичним числом графа і позначається .

Розфарбування вершин графа найменшим набором квітів

У правильному розфарбуванні повного графа , кожна з його вершин повинна бути зафарбована у свій колір, тому хроматичне числа графа такого типу дорівнює кількості його вершин, тобто . Якщо в графі існує повний підграф з вершинами, то для розмальовки цього підграфа необхідно  кольорів. Звідси випливає, що для будь-якого графа виконується нерівність , де  — клікове число графа .

Читати повністю

Перевірка графа на дводольність

Граф називається дводольним, якщо множину його вершин можна розбити на дві підмножини так, щоб кінці кожного ребра належали різним підмножини. Ці підмножини називаються частками, кожна з яких породжує порожній підграф. Відмітимо, що дводольний граф у якого будь-яка вершина першої частки з'єднана з усіма вершинами другої частки називається повним дводольним графом.

Дводольний граф

Приклад дводольного графа

Прикладне значення поняття дводольного графа пов'язано з тим, що за допомогою таких графів моделюються відносини між об'єктами двох типів, а такі відносини часто зустрічаються на практиці. Наприклад, відношення між вихідними продуктами і готовими виробами (продукт використовується у виробництві виробу ), відношення між працівниками і професіями (працівник  володіє професією ), відношення між викладачами та навчальними курсами (викладач  веде навчальний курс  ) та інші.

Читати повністю

« Попередня сторінкаНаступна сторінка »