Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Розробка методів І засобів текстурування для покращення

Розробка методів І засобів текстурування для покращення




Сторінка4/9
Дата конвертації09.04.2017
Розмір0.84 Mb.
1   2   3   4   5   6   7   8   9

2 ПЕРСПЕКТИВНО-КОРЕКТНЕ ТЕКСТУРУВАННЯ




2.1 Використання квадратичної апроксимації для перспективно-коректного текстурування

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

В геометрії, середня точка - це точка на заданому відрізку, що знаходиться на рівній відстані від обох кінців цього відрізка. Є центром мас як всього відрізка, так і його кінцевих точек. Середня точка ділить навпіл[en] відрізок.

При цьому має місце симетричний розподіл абсолютної похибки апроксимації відносно середньої точки РР.

Симетрíя (від грец. συμμετρεῖν - міряти разом) - властивість об'єкта відтворювати себе при певних змінах, перетвореннях чи трансформаціях, які називаються операціями симетрії. Розрізняють симетрію тіл, симетрію властивостей і симетрію відношень.

Абсолюти́зм (від лат. absolutus - необмежений, незалежний, безумовний, самодержавство, абсолютна монархія) - форма правління державою, за якої верховна влада (суверенітет тощо) належить одній особі (царю, імператору, королю тощо), та для якої характерний найвищий ступінь централізації державної влади.

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

Характер (термін «характер» - грецького походження, він означає «риса», «ознака», «відбиток»)- це сукупність відносно стійких індивідуально-своєрідних якостей особистості, що виявляються у поведінці, діяльності та ставленні до людей, колективу, до себе, речей, роботи і тощо.

Якщо вздовж РР значення текстурної кординати збільшуються, то внутрішню опорну точку слід змістити в сторону менших значень координати , якщо зменшуються – то в сторону більших значень [44].

Виведемо загальні формули для розрахунку коефіцієнтів апроксимації. Для цього необхідно розв’язати систему рівнянь:

(2.1)

де , і коефіцієнти квадратичної апроксимації, , , екранні -координати відповідно у першій, внутрішній та кінцевій точках РР, , , текстурні -координати відповідно у першій, внутрішній та кінцевій точках РР.

Оскільки за умовою традиційної квадратичної апроксимації використовуються нормовані значення екранної координати, то і .

Тради́ція - досвід, звичаї, погляди, смаки, норми поведінки і т. ін., що склалися історично і передаються з покоління в покоління; звичайна, прийнята норма, манера поведінки, усталені погляди, переконання когось; узвичаєння, узвичаєність, неписаний закон.

Тоді система (2.1) прийме такий вигляд

(2.2)

Знайдемо з третього рівняння системи (3.9) коефіцієнт і підставимо його у друге рівняння.



,

.

З останнього рівняння знайдемо коефіцієнт



.

Тоді

.

Формули для розрахунку коефіцієнтів мають такий вигляд



(2.3)

Розрахунок коефіцієнтів і вимагає виконання 2 операцій ділення, 5 операцій множення та 8 операцій додавання. Введемо такі позначення



, , . (2.4)

Підставимо позначення (3.11) у систему (3.10). Тоді отримаємо



(2.5)

Розрахунок коефіцієнтів апроксимації за формулами (3.12) потребує виконання 1 операції ділення, 5 операцій множення та 5 операцій додавання.

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

Опера́ція (лат. operatio - дія, вплив) - дії, заходи, що виконуються за певним планом і спрямовані на вирішення якогось завдання, досягнення якоїсь мети або належить до кола функцій даного підприємства, установи, відділу, окремого працівника, певного обладнання тощо.

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

Таблиця 2.1 – Формули для розрахунку коефіцієнтів

квадратичної апроксимації для різних значень внутрішньої точки



Значення



Формула для розрахунку коефіцієнта

Формула для розрахунку коефіцієнта

0,75





0,7





0,6





0,5





0,4





0,3





0,25




Аналогічні формули мають місце і для розрахунку координати .

На рис. 3.2 зображено графіки значень відносної похибки апроксимації текстурної координати для конкретного рядка растеризації (полігон: (1,1), (32,96), (96,128), (128,32 ), ) при різному розташуванні внутрішніх опорних точок, за умови, що значення текстурної координати змінюються від 0 до 1. Максимальна відносна похибка має місце у випадку, коли внутрішня опорна точка розбиває рядок растеризації навпіл, тобто . При зміщенні внутрішньої опорної точки в ліву сторону значення максимальної відносної похибки зменшується, а при значенні – зменшується майже вдвічі.

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

Зміщення внутрішньої опорної точку в сторону менших значень екранної координати виконується, коли значення текстурної координати вздовж рядка растеризації збільшується, тобто , а в сторону більших значень екранної координати – при . У табл. 3.2 наведено рекомендовані значення внутрішньої опорної точки для різних значень текстурних координат у початковій та кінцевій точках рядка растеризації.

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

Вве́дення у храм Пресвято́ї Ді́ви Марії́ - велике християнське богородичне свято. Святкується 21 листопада за юліанським календарем, 4 грудня - за григоріанським.

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

Розглянемо ще один можливій підхід використання апроксимації для текстурування.

Традиційна квадратична апроксимація [52, 128, 140] для перспективно-коректного текстурування використовує нормовані значення екранних координат об’єкта. Процедура нормалізації передбачає виконання трудомісткої операції ділення, що знижує швидкість накладання текстур.

Знайдемо формули для розрахунку коефіцієнтів квадратичної апроксимації за умови, що значення екранних координат об’єкта не нормовані.

Для визначення текстурної координати згідно формули (1.2) необхідно знайти невідомі коефіцієнта А1–А3. Для їх знаходження запишемо систему трьох рівнянь у матричному вигляді:



, (2.6)

де (х0, х1, х2) і (u0, u1, u2) – значення координат х і и відповідно у початковій, внутрішній та кінцевій точках рядка растеризації прямокутного полігона, А1, А2 і А3 – коефіцієнти квадратичної апроксимації.

Прямоку́тник - це чотирикутник, усі кути якого прямі. Протилежні сторони прямокутника рівні. Є окремим випадком паралелограма.

Значення u0, u1 і u2 можна розрахувати за формулою (3.1). Коефіцієнти А1, А2 і А3 знайдемо за методом Крамера [99]:

(2.7)

де Δ, Δ1, Δ2 і Δ3 – визначники матриць, які розраховуються так:



,

,

,

.

Тоді формули для розрахунку коефіцієнтів А1, А2 і А3 будуть мати вигляд:



(2.8)

(2.9)

(2.10)

. (2.11)

Аналогічно розраховуються і коефіцієнти , але замість значень , і використовуються значення , і . Коефіцієнти апроксимації і розраховуються один раз для кожного рядка растеризації.

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

2.2 Метод підвищення продуктивності перспективно-коректного текстурування


У задачах текстурування встановлюється співвідношення між екранними координатами та текстурними координатами. Перспективно-коректне текстурування в переважній більшості випадків реалізують за методом Хесберга [39, 260], який використовує гіперболічне інтерполювання.

Гіперболо́їд (грец. від hyperbole - гіпербола, і eidos - подібність) - вид поверхні другого порядку в тривимірному просторі, що задається в Декартових координатах рівнянням

При текстуруванні за методом Хесберга використовують такі формули [39, 180, 260]



. (2.12)

Якщо , то



.

Отже для u0 формула має вигляд:



Для u1:



Для u2:



Таким чином для un формула має вигляд:



(2.14)
Аналогічну формулу можна записати й для vn.

З наведених формул видно, що для розрахунку кожного текселя необхідно виконати 2 операції ділення, 8 операцій додавання та 8 операцій множення.

Як видно із формул 2.14 для кожного n значення многочеленів та залишаються незмінними, а отже, можуть бути обраховані один раз для кожного рядка растеризації:

,

де ut та ub константні частини чисельника та знаменника мормули 2.

Знаменник - число, або алгебраїчний вираз, який стоїть під рискою у записі дробу.

Чисельник - число або алгебраїчний вираз, який стоїть над рискою при записі дробу.

14 відповідно.

Отже, un може бути обчислено за формулою:

(2.15)

Таким чином, при визначенні коодрдинат усіх текселів змінні u1t та u1b є константними, а їх значення достатньо обрахувати один раз. Аналогічним чином можна обчислити і vn. Таке спрощення знижує кількість операцій додавання та множення до 4 відповідно.

Виходячи з отриманих математичних залежностей можна побудувати алгоритм паралельного підрахунку координат текселів: для кожного рядка растеризації спочатку обчислюються параметри ut та ub, потім паралельно облислюються значення чисельника () та знаменника (), після чого виконується операція ділення для визначення координати.

977.bmp

Рисунок 2.1 – Паралельний підрахунок координат текселів


Оскільки для кожного наступного х, n збільшується на 1, має місце наступна формула:

, . (2.16)

Таким чином, відповідно до формул 2.16 можна побудувати послідовний алгоритм обчислення текстурних координат: чисельники та знаменники для формули 2.15 для кожного х обчислюються шляхом додавання до чисельника та знаменника, визначених для х-1, А1 та D відповідно.



128.bmp

Рисунок 2.2 – Послідовний підрахунок координат текселів



2.3 Неортогональна растеризиція при перспективно-коректному текстуруванні

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

Спостеріга́ч - суб'єкт дослідження, який фіксує й вимірює події, тобто веде спостереження.

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

Знайдемо коефіцієнт нахилу прямої в екранній системі координат, якому відповідає відрізок прямої у світовій системі координат зі сталим для рядка значенням координати z (рис. 2.3). Нехай у світовій системі координат задано трикутник. Він однозначно визначає площину, рівняння якої має такий вигляд:



, (2.17)

де – коефіцієнти, які визначаються координатами вершин трикутника.



itog

Рисунок 2.3 – Рядки растеризації у світовій та екранній системах координат


З останнього рівняння знаходимо, що

. (2.18)

Між екранними та світовими координатами має місце такі співвідношення Запишемо останні рівняння у вигляді

Будемо шукати кут нахилу прямої, рівняння якої має вигляд .

З урахуванням цього запишемо, що .

Підставивши в рівняння (2) і значення , отримуємо

.

З останнього рівняння знаходимо, що



. (2.19)

За умови, що для рядка растеризації трикутника в екранній системі координат , то для будь-якого має місце рівняння



.

Останнє рівняння має єдиний розв’язок . Оскільки і було вибрано довільно, то можна констатувати, що нахил сканувального рядка растеризації не змінюється для всього трикутника, який розглядається в екранній системі координат. Значення координати для заданого рядка растеризації легко знайти, підставивши отримане значення у рівняння (2.19).



.

Між координатами текстурного та екранного просторів існує така залежність [39, 260]:



.

Позначимо знаменник наведених виразів через , а , тоді .

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

Для початкової точки рядка растеризації . Із урахуванням цього Розглянемо, як змінюється при зміні координати на одиницю

Отримане співвідношення легко обчислити апаратним шляхом за умови, що –відоме.

Неортогональний напрямок растеризації ділянки, обмеженої полігоном, дозволяє зменшити обчислювальну складність процесу накладання текстур на поверхню тривимірного графічого об’єкта. Для трикутника, який містить T внутрішніх точок, вилучається (T-q) операцій ділення, де q- кількість горизонтальних рядків растеризації трикутника.

Важливим є питання растеризації трикутника, оскільки неортогональний відносно координатних осей напрямок растеризації неминуче призведе до артефактів – наявності «просікань» і дублювання точок через зміщення початкових точок рядків растеризації. Цього можна уникнути за умови, що провідне ребро трикутника буде паралельним осі ординат, однак це передбачає виконання особливої тріангуляції поверхні та не відповідає вимогам графічних стандартів.

Дублюва́ння, дубльо́ваний пере́клад або дубля́ж (від фр. double «подвійний») - вид перекладу фільмів, мультфільмів та серіалів, за якого відбувається повна заміна оригінального мовлення на іншу мову з метою транслювання фільму в країнах, у котрих не користуються мовою, якою говорять персонажі аудіовізуального твору.

Горизонталь, ізогіпса (англ. contour lines, horizontal, isohyps, нім. Höhenkurve f, Horizontale f; рос. горизонталь, изогипса; від дав.-гр. ισος - равний і дав.-гр. ὕψος - висота) - лінія на плані (карті), яка з'єднує точки земної поверхні з однаковою абсолютною висотою.

Станда́рт - нормативний документ, заснований на консенсусі, прийнятий визнаним органом, що встановлює для загального і неодноразового використання правила, настанови або характеристики щодо діяльності чи її результатів, та спрямований на досягнення оптимального ступеня впорядкованості в певній сфері.

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

Найпростіше вирішити проблему можна за рахунок растеризації не трикутника, а прямокутника, у який його віртуально вписано (рис 2.4, а). Визначити параметри такого прямокутника можна шляхом порівняння координат вершин трикутника (крайні ліва та права вершини трикутника визначають абсцису лівої та правої сторін прямокутника, а нижня – ординати нижньої сторони прямокутника). Параметр легко знайти, підставивши у рівняння прямої, яку використовано для растеризації, значення абсциси верхньої вершини трикутника.

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

Зрозуміло, що ордината верхньої лівої вершини прямокутника дорівнює сумі і ординати верхньої вершини трикутника.
вае

Рисунок 2.4 – Растрування ділянки, обмеженої трикутником


Растеризація прямокутника виконується з метою визначення координат лівої та правої точок ребра трикутника, що перетинають рядок растеризації, без обчислень, які потребують «довгих» операцій. При досягненні правого ребра трикутника здійснюється перехід на новий рядок растеризації прямокутника, який розміщено на один ординатний рівень нижче (рис. 2.4, а), тобто ділянка трикутника за його правим ребром не растеризується (рис. 2.4, б). Визначення координат лівого та правого ребер трикутника досягається шляхом порівняння кольору переднього плану, яким накреслено трикутник, з еталоном. При цьому можна, наприклад, використати принцип критерію парності [47], згідно з яким кількість перетину полігону є парним числом.

Крите́рій (від лат. critērium, яке зводиться до грец. χριτήριον - здатність розрізнення; засіб судження, мірило, пов'язаного з грец. χρινω - розділяю, розрізняю) - мірило, вимоги, випробування для визначення або оцінки людини, предмета, явища; ознака, взята за основу класифікації.

Па́рність або непарність - властивість цілих чисел. Зокрема, парним називається таке число, що можна поділити на 2 без залишку, в той час як непарне число ділиться на два із залишком.

Для підвищення швидкодії можна запропонувати растеризацію ділянок, які мають колір фону, імпульсною послідовністю підвищеної частоти.

2.4 Висновки


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

Запропоновано метод розпаралелення процессу визначення текстурних коорднат, що базується на методі Хесберга. Метод дозволяє істотно підвищити швидкість процессу текстурування.

Запропоновано метод підвищення продуктивності перспективно-коректного нанесення текстури за рахунок використання неортогонального напрямку растеризації ділянки, обмеженої полігоном. Растеризацію об’єкта в світовій системі координат здійснюється за умови, що рядки растеризації розміщено на фіксованій відстані від спостерігача. Для трикутника, який містить T внутрішніх точок, вилучається (T-q) операцій ділення, де q– кількість горизонтальних рядків растеризації трикутника.

1   2   3   4   5   6   7   8   9



  • 2.2 Метод підвищення продуктивності перспективно-коректного текстурування
  • 2.3 Неортогональна растеризиція при перспективно-коректному текстуруванні
  • 2.4 Висновки