Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Застосування текстурувань





Кольорове кодування властивостей.

Машинна графіка майже завжди має справу з багатовимірним світом. Проектування вироби аж ніяк не закінчується побудовою його об'ємної моделі. Далі потрібно провести технологічні розрахунки, визначаючи навантаження, обтічність, розподіл електричного потенціалу. Таким чином, як правило, моделювання об'єктів і явищ пов'язане із завданням дослідження пов'язаних з моделлю числових даних, які визначають одне або кілька властивостей моделі. Наявність декількох властивостей перетворює 3D світ моделі в світ більшої розмірності.

Текстурування більш формально ця задача називається візуалізацією даних - числових векторів, заданих на деякій підмножині точок 3D простору. Кожна компонента вектора (або канал) відповідає значенню певної властивості.

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

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

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

· Зафарбування Гуро згладжує тоновий перехід між ребрами полігонів, обчислюючи шляхом лінійної інтерполяції колір для кожного пікселя полігону. Згладжену поверхню більш природно моделює віддзеркалення світла і робить візуалізацію реалістичніше. Модель зафарбовування Гуро застосовується, в якості стандартного методу в OpenGL[9].

При зображенні значень за допомогою колірного кодування гладкість переходів може виявитися шкідливою. Якщо є дві суміжні області з істотно різними значеннями властивості, які при колірному кодуванні закрашуються різними кольорами, застосування методу Гуро згладить перехід між ними і не дасть можливості показати різкі перепади. Для боротьби з цим неприємним властивістю доводиться збільшувати ступінь подробиці сітки, проте це призводить до різкого зростання обчислювальних витрат і не годиться для інтерактивних додатків.

Ця проблема може бути вирішена за допомогою текстури. Палітра кольорів, використовувана для зображення значень властивостей, реалізується у вигляді зображення 1D текстури. При генерації вершин сітки, апроксимуючої поверхні, скалярні значення використовуються, як текстурні координати. На відміну від прямого колірного кодування, в даному способі інтерполяція проводиться в просторі текстури і колір кожного пікселя обчислюється за отриманими текстурованим координатах. У результаті навіть для рідкісної сітки можна забезпечити різкі зміни колірного коду у вузькій області поверхні і отримати висококонтрастне зображення. За допомогою накладення текстури різкі переходи від одного колірного значення до іншого істотно поліпшують точність рендеринга. Крім того, ці різкі переходи допомагають візуально сприймати форму об'єкта в об'ємі.

Різниця між двома підходами показана на двох конкретних прикладах (малюнок 3) - кольорова інтерполяція (Рис.3.А.) і текстурування (Рис.3.Б.).

Рис3.А.Кольорова інтерпретація. Б. Текстурна інтерпретація.

Додаткові переваги пов'язані з незалежністю об'єктних і текстурних координат і полягають у можливості внесення швидких змін в відображення текстури –в колірний код. Використовуючи матрицю текстури і застосовуючи перетворення зсуву в її просторі, можна змінювати точку відліку колірного коду. Перетворення масштабування простору текстури дозволяє змінювати діапазон відображення. Ці перетворення можуть бути виконані в реальному часі[6].

 







Date: 2015-07-17; view: 386; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию