Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика 2013 (Лекции) ПЕчать.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.24 Mб
Скачать

4.11 Розподіл середньою точкою

Відрізок можна розділити середньою точкою і таким шляхом обійтися без безпосереднього визначення точки перетину з краями екрану.

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

1) Один з кінців вихідного відрізка може бути видимим.

В цьому випадку одна з його половин або повністю видима (а) або відкидається за найпростішим правилом (б). Тоді алгоритм застосовується до іншої половині відрізка.

2) Якщо дві кінцеві точки вихідного відрізка невидимі, то кожна з половин розглядається окремо.

Обидві половини можуть бути відкинуті за простішим правилом, (с) – невидимий весь відрізок. В іншому випадку за най­простішим правилам може бути відкинута одна половина (а). В третьому випадку середня точка помітна й не одну з половини відкинути не можна. У цьому випадку алгоритм застосовується до обох половин.

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

4.12 Поля індикації

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

4.13 Вікна

Процес підготовки до виведення на екран зображення під­даного перетворенням виконується в два етапи:

На початку зображення перетворюється в координати екрану, а потім відсікаються частини, що виходять за межі поля індикації. Виконання процесу в такому порядку при­зводить до деяких зайвих витрат. Можна піддати перетво­ренню велике число відрізків і в кінці-кінців можна пере­конатися, що більшість з них знаходиться поза межами екрану. Набагато раціональніше “впізнавати” невидимі лінії до їх перетворення і уникнути непотрібних витрат часу на пере­творення. Це можна здійснювати шляхом кадрування за допомогою вікна, яке представляє собою відображення поля індикації в координатах вихідного зображення до його перетворення. Вікно завжди являє собою прямокутну область. Форма у нього завжди така ж, як і в поля індика­ції, за умови, що зображення масштабується однаково по осях x і y.

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