- •Розділ 1.Текстурування в задачах 3d візуалізації.
- •1.1.Загальна характеристика.
- •1.2 Зображення текстури.
- •1.3 Параметри текстури.
- •1.4. Застосування текстурувань.
- •Розділ 2. Текстурування в програмі SketchUp.
- •2.1. Основні методи текстурувань в програмі SketchUp.
- •2.2. Текстурування внутрішнього двору Замка Паланок в програмі SketchUp.
- •Висновки
- •Список літератури
1.4. Застосування текстурувань.
Кольорове кодування властивостей.
Машинна графіка майже завжди має справу з багатовимірним світом. Проектування вироби аж ніяк не закінчується побудовою його об'ємної моделі. Далі потрібно провести технологічні розрахунки, визначаючи навантаження, обтічність, розподіл електричного потенціалу. Таким чином, як правило, моделювання об'єктів і явищ пов'язане із завданням дослідження пов'язаних з моделлю числових даних, які визначають одне або кілька властивостей моделі. Наявність декількох властивостей перетворює 3D світ моделі в світ більшої розмірності.
Текстурування більш формально ця задача називається візуалізацією даних - числових векторів, заданих на деякій підмножині точок 3D простору. Кожна компонента вектора (або канал) відповідає значенню певної властивості.
Традиційно для зображення одної властивості - у разі скалярних даних, що складаються з одного компонента, використовується колірне кодування. Здається відображення області визначення властивості - всіх його можливих значень, на наявну колірну палітру. При моделюванні таке відображення може бути задане інтерактивно. Кожна точка зображуваного геометричного об'єкта замальовується таким кольором, який відповідає значенню властивості в цій точці. Таким прийомом можна, наприклад, зобразити розподіл навантажень на механічній деталі або потенціал взаємодії на поверхні молекули.
У використанні колірного кодування є проблема, яка є наслідком деяких особливостей застосовуються на практиці методів зафарбовування поверхонь. Як пояснювалося раніше, при замальовці полігональних поверхонь кольору задаються в вершинах сітки, на яку натягується поверхню. У точках поверхні, які не є вершинами, колір обчислюється в результаті інтерполяції. У сучасних графічних архітектурах використовується два базових способу інтерполяції зафарбовування.
Плоска зафарбування - найпростіший і обчислювально найбільш дешевий спосіб: для зафарбовування нутрощі кожного полігону застосовується один колірний тон, заданий у певному вузлі полігону. Результат візуалізації виходить не надто хороший - буде видно ребра між сусідніми полігонами. Можливість швидко отримати прийнятний результат - це, мабуть, головне достоїнство цієї моделі.
Зафарбування Гуро згладжує тоновий перехід між ребрами полігонів, обчислюючи шляхом лінійної інтерполяції колір для кожного пікселя полігону. Згладжену поверхню більш природно моделює віддзеркалення світла і робить візуалізацію реалістичніше. Модель зафарбовування Гуро застосовується, в якості стандартного методу в OpenGL[9].
При зображенні значень за допомогою колірного кодування гладкість переходів може виявитися шкідливою. Якщо є дві суміжні області з істотно різними значеннями властивості, які при колірному кодуванні закрашуються різними кольорами, застосування методу Гуро згладить перехід між ними і не дасть можливості показати різкі перепади. Для боротьби з цим неприємним властивістю доводиться збільшувати ступінь подробиці сітки, проте це призводить до різкого зростання обчислювальних витрат і не годиться для інтерактивних додатків.
Ця проблема може бути вирішена за допомогою текстури. Палітра кольорів, використовувана для зображення значень властивостей, реалізується у вигляді зображення 1D текстури. При генерації вершин сітки, апроксимуючої поверхні, скалярні значення використовуються, як текстурні координати. На відміну від прямого колірного кодування, в даному способі інтерполяція проводиться в просторі текстури і колір кожного пікселя обчислюється за отриманими текстурованим координатах. У результаті навіть для рідкісної сітки можна забезпечити різкі зміни колірного коду у вузькій області поверхні і отримати висококонтрастне зображення. За допомогою накладення текстури різкі переходи від одного колірного значення до іншого істотно поліпшують точність рендеринга. Крім того, ці різкі переходи допомагають візуально сприймати форму об'єкта в об'ємі.
Різниця між двома підходами показана на двох конкретних прикладах (малюнок 3) - кольорова інтерполяція (Рис.3.А.) і текстурування (Рис.3.Б.).
Рис3.А.Кольорова інтерпретація. Б. Текстурна інтерпретація.
Додаткові переваги пов'язані з незалежністю об'єктних і текстурних координат і полягають у можливості внесення швидких змін в відображення текстури –в колірний код. Використовуючи матрицю текстури і застосовуючи перетворення зсуву в її просторі, можна змінювати точку відліку колірного коду. Перетворення масштабування простору текстури дозволяє змінювати діапазон відображення. Ці перетворення можуть бути виконані в реальному часі[6].
