Візуалізація просторових реалістичних сцен Світло- тіньовий аналіз
Тіні виникають як результат екранування джерела світла предметами, що становлять сцену. При цьому існують повні тіні й півтіні, що пов'язане з фізичною природою світла: повна тінь утвориться в центральній частині затінення, а півтінь - поблизу її границь.
Уперше ідея сполученого аналізу видимості й затемненості була запропонована в 1968 р. Аппелем. Як приклад розглянемо один алгоритм на основі порядкового сканування, що складає із двох основних етапів.
I. Аналіз сцени стосовно джерела світла. Для всіх багатокутників, отриманих у результаті проектування сцени, визначаються неосвітлені (затінені) ділянки й тіньові багатокутники (проекційні тіні), причому багатокутники утворять пронумерований список. Для цих багатокутників формується матриця A=(aij), що дозволяє визначити, чи відкидає багатокутник тінь і які з багатокутників він може закривати. Якщо для деяких значень i,j, то це означає, що багатокутник з номером може відкидати тінь на багатокутник з номером j.
Таким чином, на цьому етапі основним є питання про ефективний алгоритм побудови такої матриці. Якщо проекція включає багатокутників, то необхідно розглянути "взаємини" N∙(N-1) пар багатокутників. Скоротити перебір можна за рахунок занурення об'єктів у прямокутні або сферичні оболонки або шляхом використання сортування по глибині.
II. Аналіз сцени стосовно спостерігача. Виконуються два процеси сканування.
Перший - для визначення відрізків, видимих з позиції спостерігача.
Другий - для визначення перетинань відрізків з тіньовими багатокутниками зі списку. Рекурсивний алгоритм другого сканування складається із чотирьох основних кроків.
Для кожного видимого відрізка:
Якщо немає жодного тіньового багатокутника, то відрізок зображується з основною інтенсивністю.
Якщо багатокутник, що містить видимий відрізок, не перетинається з тіньовими багатокутниками, то відрізок зображується з основною інтенсивністю.
Якщо відрізок повністю закривається деякими тіньовими багатокутниками, то інтенсивність його зображення визначається з урахуванням затінення всіма цими багатокутниками.
Якщо кілька тіньових багатокутників частково закривають відрізок, то він розбивається на ряд відрізків крапками перетинання з тіньовими багатокутниками.
Цей алгоритм припускає, що затінення не абсолютне, тобто затінені ділянки все-таки є видимими, тільки їхня освітленість падає залежно від кількості й освітленості багатокутників, що затінюють. При повнім затіненні в третьому пункті алгоритму відрізок стає повністю невидимим, а в четвертому подальшому аналізу піддаються тільки незатінені відрізки.
Способи розрахунку інтенсивності при неповнім затіненні можуть бути різні. У цьому випадку всі затінені багатокутники мають свою інтенсивність залежно від обраної моделі освітленості. При цьому можна враховувати відстань затіненої ділянки від поверхні, що відкидає тінь.
Ще один алгоритм, часто застосовуваний при побудові тіней, зветься методу тіньового буфера. Він будується на основі методу Z-Буфера. Тіньовий буфер - це той же Z-Буфер, тільки з погляду джерела світла. Таким чином, використовуються два буфери: один - для відстані від картинної площини до крапок зображуваної сцени, а іншої - для відстаней від цих же крапок до джерела світла. Алгоритм дозволяє зображувати сцени з повним затіненням і зводиться до двох основних етапів:
Сцена розглядається із крапки розташування джерела світла у відповідній системі координат. Підсумком побудови є повністю заповнений тіньовий буфер.
Сцена розглядається з погляду спостерігача, застосовується звичайний метод Z-Буфера з невеликим доповненням. Якщо крапка (x,y,z) є видимою в цій системі координат, то обчислюються її координати в системі, пов'язаної із джерелом світла – (x’,y’,z’), потім перевіряється, чи є крапка видимої із цієї позиції. Для цього значення z’ рівняється зі значенням, що втримується в тіньовому буфері для цієї крапки, і у випадку видимості значення інтенсивності заноситься в буфер кадру в крапці (x,y).
Обоє наведених алгоритму працюють у просторі зображення, тобто мають справи із проекціями на площину й деяку додаткову інформацію про крапки сцени, що відповідають цим проекціям. Існують алгоритми, що працюють у тривимірному об'єктному просторі. Зокрема, для побудови тіней використовуються модифікації алгоритму Вейлера-Азертона. Модифікація полягає в тім, що, як і у випадку тіньового буфера, завдання видалення невидимих граней вирішується спочатку з позиції джерела світла, а потім отримана інформація про об'єкти використовуються при побудові зображення з позиції спостерігача.
Загалом кроки алгоритму можна описати так:
Визначаються грані, видимі із крапки розташування джерела світла. З метою підвищення ефективності запам'ятовується інформація тільки про видимі грані. Оскільки аналіз виконується в системі координат, пов'язаної із джерелом світла, те отримані видимі багатокутники потім заново приводяться до вихідної системи координат. Багатокутники зв'язуються із гранями, яким вони належать (у результаті затінення одна грань може містити кілька багатокутників).
Сцена обробляється з положення спостерігача. При зображенні видимої грані враховуються тільки ті багатокутники, які входять у список, отриманий на першому етапі, тобто грань розглядається як сукупність таких багатокутників.
При наявності декількох джерел світла кількість освітлених ділянок природно збільшується.
Основні визначення.
Тривимірна графіка призначена для імітації фотографування або відеозйомки тривимірних образів об'єктів, які можуть бути попередньо підготовані у пам'яті комп'ютера
2. При поворотах системи координат нові координати крапок виходять шляхом множення матриці повороту на протилежний кут на вектор вихідних координат
3. Вейвлет-перетворення полягають в розкладанні сигналу (функції-зображення) по системі функцій, що мають локальний сплеск і швидко убувають на нескінченності
4. Текстура поверхні – це деталізація її будови, що враховує мікрорельєф і особливості фарбування.
5. Фрактальний стиск ґрунтується на пошуку й кодуванні самоподібних областей у зображенні.
6. Плоска грань у всіх крапках має однакову інтенсивність висвітлення, тому вона зафарбовується одним кольором. Таке зафарбовування називається плоским.
7. Видалення прихованих ліній у тривимірних зображеннях здійснюється методом Z-Буфера.
8. Якщо центр проекції перебуває в нескінченності (всі промені, що проектують, паралельні), то проекція буде ортографічною.
9. Відбиття може бути двох видів: дифузійне й дзеркальне.
10. Перетворення повороту для тривимірних зображень здійснюються для двох координат
- Добровольський ю.Г., Прохоров г.В.
- Тема 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