Анотація
У роботі представлені теоретичні основи машинної графіки, необхідні для організації алгоритмів видалення невидимих ??ліній і поверхонь. Згідно теоретичного алгоритмом, була створена комп'ютерна програма. Програма розроблена в середовищі програмування Borland Delphi 7, дозволяє користувачеві програми реалізувати видалення невидимих ??ліній і поверхонь шляхом Алгоритму плаваючих горизонтів на тривимірних поверхнях.
алгоритм невидимий лінія поверхню
Зміст
Мета роботи
Введення
. Опис алгоритму видалення невидимих ??ліній і поверхонь алгоритмом плаваючого горизонту
.1 Загальний алгоритм (опис алгоритму)
. Структура програми
. Опис програми
. Інструкція користувачеві
. Алгоритм реалізації
. Опис програмного продукту
.1 Апаратно-програмні засоби
.2 Мова і середу програмування
Додаток
Мета роботи
Завданням передбачається реалізувати видалення невидимих ??ліній і поверхонь шляхом Алгоритму плаваючих горизонтів .
Потрібно реалізувати даний алгоритм і продемонструвати його реалізацію на тривимірних поверхнях, при цьому поверхні задаються аналітично.
Введення
Завдання видалення невидимих ??ліній і поверхонь є однією з найбільш складних в машинній графіці. Алгоритми видалення невидимих ??ліній і поверхонь служать визначення ліній ребер, поверхонь або обсягів, які видимі чи невидимі для спостерігача, що знаходиться в заданій точці простору.
Складність завдання видалення невидимих ??ліній і поверхонь призвела до появи великої кількості різних способів її рішення. Багато хто з них орієнтовані на спеціалізовані додатки. Найкращого рішення загальної задачі видалення невидимих ??ліній і поверхонь немає.
Існує тісний взаємозв'язок між швидкістю роботи алгоритму і детальністю його результату. Жоден з алгоритмів не може досягти хороших оцінок тих двох показників одночасно. У міру створення все більш швидких алгоритмів можна будувати дедалі більше детальні зображення. Реальні завдання, однак, завжди будуть вимагати обліку ще більшої кількості деталей.
Всі алгоритми видалення невидимих ??ліній (поверхонь) включають в себе сортування. Порядок, в якому виробляється сортування координат об'єктів, взагалі кажучи, не впливає на ефективність цих алгоритмів. Головна сортування ведеться по геометричній відстані від тіла, поверхні, ребра або точки до точки спостереження. Основна ідея, покладена в основу сортування по відстані, полягає в тому, що чим далі розташований об'єкт від точки спостереження, тим більша ймовірність, що він буде повністю або частково заслонен одним з об'єктів, більш близьких до точки спостереження. Після визначення відстаней або пріоритетів по глибині залишається провести сортування по горизонталі і по вертикалі, щоб з'ясувати, чи буде розглянутий об'єкт дійсно заслонен об'єктом, розташованим ближче до точки спостереження. Ефективність будь-якого алгоритму видалення невидимих ??ліній чи поверхонь у великій мірі залежить від ефективності процесу сортування.
Алгоритми видалення невидимих ??ліній або поверхонь можна класифікувати за способом вибору системи координат або простору, в якому вони працюють. Алгоритми, працюють у об'єктному просторі, мають справу з фізичною системою координат, у якій описані ці об'єкти. При цьому виходять дуже точні результати, обмежені, власне кажучи, лише точністю обчислень. Отримані зображення можна вільно збільшувати в багато разів. Алгоритми, працюють у об'єктному просторі, особливо корисні в тих додатках, де необхідна висока точність. Алгоритми ж, що працюють у просторі зображення, мають справу з системою координат того екрана, у якому об'єкти візуалізуються. При цьому точність обчислень обмежена роздільну здатність екрана. Зазвичай дозвіл екрана буває досить низьким, типовий приклад - 512x512 точок. Результати, отримані в просторі зображення, а потім збільшені в багато разів, ні відповідати вихідної сцені. Наприклад, можуть не збігтися кінці відрізків. Алгоритми, що формують список пріоритетів, працюють поперемінно на обох згаданих системах координат.
Обсяг обчислень для будь-якого алгоритму, працював у об'єктному просторі, і порівняв кожен об'єкт сцени із іншими об'єктами цієї сцени, зростає теоретично як квадрат числа об'єктів (n 2).
Аналогічно, обсяг обчислень будь-якого алгоритму, працював у просторі зображення який би порівняв кожен об'єкт сцени з позиціями всіх пікселів у системі координат екрана, зростає теоретично, як nN. Тут п позначає кількість об'єктів (тіл, площин чи ребер) в сцені, а N - число п...