Растеризація відрізка використовуючи алгоритм Брезенхема

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

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

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

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

Для того, щоб запустити програму необхідно, в каталозі де збережено delphi-проект, знайти файл Project1.ехе і запустити його. Після запуску програми на екрані буде відображено наступне вікно.

Побудова Гамільтонового циклу на delphi

Головне вікно проекту "Побудова Гамільтонового циклу для неорієнтованого графа"

Тобто, головне вікно складається з панелі інструментів, області графічного представлення та області виводу результатів. На панелі інструментів (компонент типу TPanel) розташовується чотири кнопки (дві типу TSpeedButton і дві що залишились, типу TButton) зліва направо: «Додати вершину», «Додати ребро», «Видалити граф», «Знайти Гамільтонів цикл». Праворуч від кнопки «Видалити граф» знаходиться напис «Вибрати цикл» біля якого міститься поле вибору типу TComboBox. Дане поле зберігає список знайдених Гамільтонових циклів. Змінюючи значення даного компонента згідно з даним списком, можна наглядно спостерігати порядок обходу вершин кожного з циклів. Область графічного представлення (компонент типу TImage), як уже зазначалося вище, використовується для побудови і відображення неорієнтованого графа та Гамільтонового циклу в ньому. І нарешті, область виводу результатів (компонент типу TMemo) відображає, у вигляді списку вершин, всі знайдені Гамільтонові цикли (якщо заданий граф Гамільтонових циклів не містить, в даній області, буде виведено відповідне повідомлення).

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