Двовимірний алгоритм Коена-Сазерленда
Цей алгоритм дозволяє швидко виявити відрізки, які можуть бути або прийняті або відкинуті цілком. Обчислення перетинів потрібне коли відрізок не потрапляє ні в один з цих класів. Цей алгоритм особливо ефективний в двох крайніх випадках:
· більшість примітивів містяться цілком у великому вікні
· більшість примітивів лежать цілком зовні щодо маленького вікна.
Ідея алгоритму полягає в наступному:
Вікно відсікання і прилеглі до нього частини площини разом утворюють 9 областей (рис. 1). Кожною з областей привласнений 4-х розрядний код.
Дві кінцеві точки відрізка отримують 4-х розрядні коди, відповідні областям, в які вони потрапили. Сенс розрядів коду:
1 рр = 1 - крапка над верхнім краєм вікна;
2 рр = 1 - крапка під нижнім краєм вікна;
3 рр = 1 - крапка праворуч від правого краю вікна;
4 рр = 1 - крапка зліва від лівого краю вікна.
Визначення того чи лежить відрізок цілком усередині вікна або цілком поза вікном виконується таким чином:
· якщо коди обох кінців відрізка рівні 0 те відрізок цілком усередині вікна, відсікання не потрібне, відрізок приймається як тривіально видимий (відрізок AB на рис. 1);
· якщо логічне значення кодів обох кінців відрізка не рівно нулю, то відрізок цілком поза вікном, відсікання не потрібне, відрізок відкидається як тривіально невидимий (відрізок KL на рис. 1);
· якщо логічне значення кодів обох кінців відрізка рівно нулю, то відрізок підозрілий, він може бути частковий видимим (відрізки CD, EF, GH) або цілком невидимим (відрізок IJ); для нього потрібно визначити координати перетинів із сторонами вікна і для кожної отриманої частини визначити тривіальну видимість або невидимість. При цьому для відрізків CD і IJ буде потрібно обчислення одного перетину, для інших (EF і GH) - два.
При розрахунку перетину використовується горизонтальність або вертикальність сторін вікна, що дозволяє визначити координату X або Y точки перетину без обчислень.
рис. 1 Відсікання по методу Коена-Сазерленда
При безпосередньому використанні описаного вище способу відбору цілком видимого або цілком невидимого відрізка після розрахунку перетину було б потрібно обчислення коду розташування точки перетину. Для прикладу розглянемо відрізок CD. Точка перетину позначена як P. Внаслідок того, що межа вікна вважається такою, що належить вікну, то можна просто прийняти тільки частину відрізка PD, що потрапила у вікно. Частина ж відрізка CP, що насправді опинилася поза вікном, зажадає подальшого розгляду, оскільки логічне І кодів точок C і P дасть 0, тобто відрізок CP не можна просто відкинути. Для вирішення цієї проблеми Коен і Сазерленд запропонували замінювати кінцеву крапку з ненульовим кодом кінця на крапку, лежачу на стороні вікна, або на її продовженні.
- Добровольський ю.Г., Прохоров г.В.
- Тема 1. Основи нарисної геометрії Лекція 1. Основні правила виконання креслень.
- Короткий історичний огляд.
- Поняття про креслення.
- Креслярські приладдя.
- Креслярські матеріали.
- Лінії креслення.
- Формати креслень.
- Основні написи.
- Нанесення розмірів на кресленнях.
- Розмірні та виносні лінії.
- Розмірні числа.
- Масштаби.
- Побудова та поділ прямих ліній.
- Побудова паралельних прямих.
- Побудова перпендикулярних прямих.
- Коло та правильні многокутники. Основні терміни.
- Спряження ліній.
- Спряження паралельних ліній.
- Спряження двох дуг кіл.
- Спряження двох кіл.
- Циркульні криві.
- Лекальні криві.
- Парабола.
- Гіпербола.
- Синусоїда.
- Загальні положення.
- Вигляди.
- Виносні елементи.
- Перерізи.
- Виготовлення креслень
- Нанесення розмірів на робочих кресленнях деталей
- Лекція 2. Виконання інженерних креслень
- Додаток 1. Класифікація конструкторських документів
- Класифікація схем та основні положення гост 2.701-84
- Комплектність конструкторської документації
- Позначення виробів і конструкторських документів
- Нормативно-технічна документація єскд
- Додаток 2. Позначення в електричних колах. Символи
- Тема 2. Концептуальні основи подання графічних зображень. Двовимірні зображення та їх перетворення Лекція 3. Предмет, методи і завдання дисципліни.
- – Додаткова:
- Предмет і область застосування комп'ютерної графіки
- Коротка історія
- Технічні засоби підтримки комп'ютерної графіки
- Лекція 4. Принципи подання графічних зображень. Світло та зображення. Поняття трасування променів. Зоровий апарат людини
- Лекція 5. Геометричні перетворення двовимірних зображень
- Геометричні перетворення (перенос, масштабування, обертання)
- Відтинання, проективне перетворення, растрове перетворення відсікання відрізків
- Двовимірний алгоритм Коена-Сазерленда
- Проективне перетворення
- Растрове перетворення графічних примітивів
- Тема 3. Растрова та векторна графіка Лекція 6. Растрова графіка
- Лекція 7. Векторна графіка
- Загальна харктеристика прогарами CorelDraw Інтерфейс програми
- Стандартна панель інструментів
- Панель інструментів
- Створення векторних об'єктів Створення простих фігур
- Малювання ліній
- Основи роботи з текстом Види тексту у CorelDraw
- Редагування тексту
- Редагування зображень Виділення об'єктів
- Накладення об'єктів один на одного
- З'єднання об'єктів
- Зміна форми стандартних об'єктів
- Тема 4. Алгоритмічні основи тривимірної графіки Лекція 8. Основні поняття тривимірної графіки
- Основні поняття тривимірної графіки
- Тривимірні примітиви
- Програмні засоби обробки тривимірної графіки
- Зв'язок між декартовими та полярними координатами
- Тривимірне розширення
- Ц иліндричні координати
- Сферичні координати
- Перехід до інших систем координат
- Афінне перетворення
- Афінні координати Афінна система координат на прямій, на площині, в просторі
- Координати векторів і крапок в афінній системі координат
- Візуалізація просторових реалістичних сцен Світло- тіньовий аналіз
- Тема 5. Комп'ютерне проектування в системі AutoCad Лекція 9. Графічна система проектування AutoCad та створення 2d об'єктів в AutoCad
- Лекція 10. Графічна система проектування AutoCad та створення 3d об'єктів в AutoCad