- •1.2.Сфери застосування комп'ютерної графіки
- •1.3.Стандарти машинної графіки
- •1.3.5. Функціональні стандарти
- •1.3.6 Рівень прикладної програми
- •2.3.Стандарт gks.
- •2.3.1 Призначення стандарту gks
- •2.3.2. Система програмування gks
- •2.5.Графічні станції
- •2.5.1 Концепції робочої станції
- •3.3 Однорідні координати і матричне представлення двовимірних перетворень
- •Рівняння масштабування (3.6) у матричній формі в однорідних координатах записуються у виді
- •3.4 Композиція двовимірних перетворень
- •4.2. Проектування.
- •4.4 Перетворення проектування. Рівнобіжні орфографічні проекції
- •4.5 Ортографічні аксонометричні проекції
- •4.6. Визначення кутів φ і θ для різних видів аксонометричних проекцій
- •Для прямокутної ізометрії коефіцієнти перекручувань по осях однакові
- •4.7. Косокутні проекції •
- •4.8. Матричне представлення тривимірних перетворень
- •4.9. Композиція тривимірних перетворень
- •5.1.1. Явне завдання багатокутників
- •5.1.2. Завдання багатокутників за допомогою покажчиків у список вершин
- •5.1.3. Явне завдання ребер
- •5.2. Рівняння площини
- •5. 3.1. Параметричні кубічні криві
- •5.4.Формати Безьє , Ерміта і в-сплайни.
- •5.4.1. Форма Ерміта
- •5.4.3. Форма b-сплайнів
- •5.5.1. Форма Ерміта
- •5.5.2. Форма Безье
- •5.6. Перетворення кривих і шматків поверхонь
- •5.7. Обчислення крапок на бікубичній поверхні
- •6.1 Методи створення реалістичних зображень тривимірних объектів.
- •Малюнок 6.1 - Класи моделей геометричних об'єктів
- •6.4. Дифузійне відображення і розсіяне світло.
- •6.3. Дзеркальне відображення
- •6.4.Модель Торренса-Сперроу та інші.
- •7.1 Призначення н сфера застосування алгоритмів растрової графіки
- •7.4.Алгоритми заповнення кольором області : рекурсивний, з затравкою. 7.4.1 Визначення і класифікація областей і алгоритмів
- •7.4.2 Простий алгоритм заповнення з запалом
- •7.5.2. Відокремлення крапок.
- •7.5.3. Відокремлення відрізків .
- •7.5.3 Алгоритм Коена - Сазерленда
- •7.5.4. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •7.5.7. Алгоритми розбивки області
- •8.1. Алгоритм сортування по глибині
- •7.5.5. Алгоритм, що використовує z-буфер
- •7.5.6. Алгоритми порядкового сканування
- •8.3. Алгоритми розбивки області
- •9.1 Графічний дисплей з довільним скануванням екрана
- •9.1.1 Векторний дисплей
- •9.3. Плоттери з довільним скануванням видової поверхні
- •9.4. Маніпулятори введення інформації і керування її положенням на екрані дисплея
7.5.5. Алгоритм, що використовує z-буфер
Іншим алгоритмом, навіть більш простим, чим попередній, є алгоритм, побудований на основі z-буфера, чи, точніше, алгоритм, що працює в просторі зображення і використовує буфер глибини. Для нього потрібно не тільки буфер регенерації, у якому запам'ятовуються значення яскравості, але також і Z-буфер, куди можна поміщати інформацію про координату Z для кожного пeла. Спочатку в z-буфер заносяться максимально можливі значення Z, а буфер регенерації заповнюється значеннями пeлiв, що описують фон. Потім кожен багатокутник перетвориться в растрову форму і записується в буфер регенерації, при цьому, однак, не виробляється початкового упорядкування, що було необхідно в алгоритмі сортування по глибині. При розкладанні в растр для кожної крапки багатокутника виконуються наступні кроки:
Обчислення глибини багатокутника z(x, у) у крапці (x, у).
Якщо z(x, у) менше, ніж значення Z-буфера в позиції (x, у), то
а) z(x, у) заноситься в елемент (x, у) Z-буфера і
б) значення пeла, що має багатокутник у розглядуємої крапці, міститься в елемент (x, у) буфера регенерації.
Якщо умова кроку 2 виконується, вважається, що крапка багатокутника розташована ближче до спостерігача, чим точка.значення яскравості якої знаходиться в даний момент у позиції (x, у) буфера регенерації. Тому записуються нові значення глибини і яскравості.
Весь процес являє собою не більш ніж пошук серед безлічі пар {Zj(x, у), Vt(x, у)} для заданих x і у з метою знайти мінімальне zt. При успішному пошуку мінімальне зі значень, що зустрілися, z міститься в Z-буфер для кожної позиції (x, у]. Черговість появи об'єктів на екрані визначається упорядкованістю, з яким обробляються багатокутники, т.e.они можуть зображуватися не обов'язково в напрямку від переднього плану до заднього чи від заднього до переднього.
Цей алгоритм має недолік: для нього потрібно великий обсяг пам'яті під Z-буфер. Однак реалізація алгоритму дуже проста. Експлуатаційні характеристики залишаються увесь час майже постійними, оскільки в середньому з ростом числа багатокутників у видимому обсязі зменшується число пeлiв, що покриваються одним багатокутником. Тому середній розмір кожної безлічі
пар, серед яких провадиться пошук, практично постійний .
Нехай деякий заданий багатокутник порядково перетворюється в растрову форму. Обчислення координати z для кожної крапки сканірующого рядка можна спростити, скориставшись тим, що багатокутник плоский. Звичайно для визначення Z рівняння площини
Ax+By+Cz+D=0 (7.24) вирішується щодо цієї змінної
(
7.25 )
Тепер,
якщо в крапці (x,
у) у
рівнянні (7.25 ) виходить значення Z
1,
то в крапці (x+Δx,
у)
( 7.26 )
Відношення
А/С
є
постійним, a Δx=l, тому, якщо задана
глибина в крапці (x,
у), для
обчислення глибини в крапці (х+1,
у)
потрібно
виконати лише одне вирахування.
