русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


D Операції


Дата додавання: 2013-12-23; переглядів: 1476.


AT=B

Представлення двовимірного вектора в трьохмірному, або n-мірного в n+1-мірному, називають однорідним координатним відтворенням.

При однорідному координатному відтворенні n-мірного вектора перетворення виконується в n+1 мірному просторі і кінцевим результатом в n-мірному просторі, отриманому за допомогою зворотного перетворення. Таким чином двомірний вектор [x,y] представлений в однорідних координатах трьохмірним: [xh yh h].

Розділивши на однорідну компоненту, отримаємо перетворений вектор:

 

(3.13)

 

 

Не існує єдиного однорідного координатного представлення точки в двовимірному просторі.

 

(3.14)

 

Для простоти обчислень вибираємо [x y 1], щоб представити не перетворену точку в двомірних однорідних координатах.

Перетворення відповідне початковому перетворенню :

 

(3.15)

 

Початкове перетворення в однорідних координатах відповідає перетворенню:

 

 

(3.16)

 

 

 

Геометрично всі перетворення x і y відбуваються в площині H=1 після нормалізації однорідних координат.

Перевага введення однорідних координат проявляється при використанні матриці перетворення загального вигляду 3х3:

 

(3.17)

 

ab, cd – здійснює зміну масштабу, здвиг, відображення, обертання.

m, n – здійснює зміщення.

p, q – отримання проекції.

S– здійснює повну зміну масштабу. Якщо S > 1 – зменшення масштабу, 0 < S < 1 – збільшення масштабу .

3.8 Точки в нескінченності

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

Геометричні властивості, наприклад точку перетину, зламу, можна оцінити в будь-якій з цих систем координат.

Нехай дві лінії задані рівняннями

 

 

та мають точку перетину

 

 

 

Це рішення може бути отримано в елементарній однорідній системі координат.

Перепишемо рівняння у вигляді

 

 

 

Їх можна представити в матричній формі:

 

 

 

 

 

де

 

 

 


 

Розглянемо другий тип, який не має зворотної матриці:


 

 

 

 


Рішень немає, лінії паралельні tgα=1, але можливий інший вираз, який дозволяє мати зворотну матрицю:

 

 

 




Множимо дві частини рівняння на обернену матрицю.

 

Результуючі однорідні координати повинні представляти “точку перетину” двох паралельних ліній в нескінченності.

Зазвичай двовимірний однорідний вектор [a b 0] утворює точку в нескінченності на лінії ay-bx = 0. Той факт, що вектор з компонентою h=0 представляє точку в нескінченності, може бути продемонстрований наступною процедурою.

Розглянемо лінію та точку .

 

 

 

Так як точка може бути представлена в однорідних координатах будь-якими способами, зауважимо, що при H→0 відношення
залишається рівним 3/4. Далі, наступні, одна за одною пари , які потрапляють на лінію стають ближче до нескінченності. Таким чином в межі, коли H → 0, точка прямує до нескінченності [x y H][∞ ∞ 1].

У такій формі однорідні координати дають зручне представлення точки в в доповнення до властивостей однорідних перетворень.

3.9 Двовимірне обертання навколо довільної осі

Раніше було розглянуто обертання зображення відносно початку координат. Однорідні координати забезпечують поворот зображення навколо точок відмінних від початку координат.

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

Таким чином поворот вектора положення [x y 1] навколо довільної точки M (m, n) на кут θ може бути виконаний так:

 

(3.18)

 

 


 

Рис.10 – Поворот вектора навколо довільної точки

 

 

 

 


Рис.11 – Обертання навколо осі OZ

 

 

 

 


Рис.12 – Обертання навколо осі OX

 


Рис.13 – Обертання навколо осі OY


4.1 Тривимірне перетворення і проекція

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

Якщо ці операції виконувати за допомогою ЕОМ, то всі результати отримані для плоского зображення, необхідно поширити на просторове. З метою цього введемо знову однорідні координати. Тоді точка в 3-ох-мірному просторі буде представлена в однорідних координатах [x y z] →

[x y z 1] або [X Y Z H].

Перетворення з однорідних координат описується співвідношенням:

 


(4.1)


Матриця T – деяка матриця перетворення. Узагальнена матриця перетворень 4х4має вигляд:

 

(4.2)

 

 

Матриця [3х3] здійснює лінійне перетворення у вигляді: зміни масштабу, здвигу, обертання, відображення. Матриця-стовпець [3х1] – перетворення в перспективі. Матриця-рядок [1х3] – перетворення зміщення. Останній скалярний елементS – повне перетворення масштабу.

Повне перетворення отримуємо шляхом впливу на вектор положення матрицею [4х4] і нормалізацією перетвореного вектора. Таке перетворення будемо називати – білінійним. Воно забезпечує виконання комплексу операцій (здвиг, зміщення, зміна масштабу та інші).

4.2 Трьохмірна зміна масштабу

Часткова зміна масштабу:

 

(4.3)

 

Загальна зміна масштабу:

 


 

(4.4)

 


(4.5)

 

4.3 Тривимірний здвиг

Тривимірний здвиг здійснюється наступним чином:


 

(4.6)

4.4 Тривимірне обертання

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

3 окремих випадки:

1) При обертанні навколо осі x, розміри вздовж осі x не змінюються. Таким чином матриця буде мати нулі в першому рядку і першому стовпчику, за винятком одиниці на головній діагоналі.

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

 

(4.7)

 

2) Для обертання на кут φ, відносно осі y, нулі ставлять у другому рядку і другому стовпчику матриці перетворення, за винятком одиниці на головній діагоналі:

(4.8)

3)

(4.9)

Так як обертання описується множенням матриць, то 3-ох-мірне обертання не комутативне.

4.5 Відображення в просторі

Коли потрібно виконати дзеркальне відображення елемента зображення, то найбільш просто здійснити його відображення відносно площини. Для відображення без зміни масштабів, необхідно щоб визначник перетворення дорівнював .

При відображенні відносно площини xy, змінюється тільки координата z.

(4.10)

 

4.6 Просторовий перенос

Трьохмірний лінійний перенос визначається перетворенням:

(4.11)

4.7 Зображення тривимірних об'єктів

Багато об'єктів, які хотілося б відобразити на дисплеї, є тривимір­ними. Їх машинне зображення з достатньою реалістичністю пов'язане з рядом труднощів:

1) Двовимірна картинка об'єкта в загальному випадку не досить наочна, якщо не ввести в неї інформацію про глибину простору за допомо­гою так званих факторів підвищення наочності глибини;

2) Взагалі важко зображати об'єкти, які містять прямолінійні поверхні, що змушує найчастіше апроксимувати їх багатогранниками. Вже розроб­лено кілька ефективних прийомів побудови зображень тривимірних об'єктів. Будемо називати групу тривимірних об'єктів – просторової сце­ною, а її двовимірне зображення – образом. Об'єкти просторової сцени опи­суються в тривимірній декартовій системі координат, що називається об'єктною ко­ординатною системою. В залежності від точки ,з якої розглядається про­сторова сцена, можна отримати багато образів однієї і тієї ж сцени. Для по­будови конкретного образу необхідно задати точку зору, напрямок спо­стереження і величину кадрового вікна.

Існує кілька способів побудови образів тривимірних сцен. Дуже простий прийом полягає в побудові ортогональних проекцій (план, вид збоку, вид згори, кілька ортогональних проекцій).

Цей прийом заснований на здатності відновлювати просторову сцену (представлену її проекціями). Однак багато хто стикається з трудно­щами при конструкції складних сцен за такими проекціям.

 

зліва
спереду

 

 


 

 

 

зверху

 

 


Рис.14 – Ортогональні проекції зображення

 

Більш придатним є перспективне зображення просторових сцен. Розрізняють такі способи побудови різних видів перспективних проекцій:

• дротових

• контурних

• напівтонових.

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

1) Дротяні зображення суцільних тіл.

 

 


 

 


Рис.15 – Дротяні та контурні зображення суцільних тіл

 

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

2) Контурні зображення об'єктів з видаленими невидимими лініями (рис. 15). Образ являє собою перспективну проекцію з довільної (перспективної) точки. Проте лінії або частини ліній закриті поверхнями об'єктів не зображуються. Для реалізації цього способу необхідний значний обсяг обчислень, тим більше що це часто буває не виправданим при побудові оста­точної картини проектованого об'єкта або сцени.

3) Напівтонові зображення об'єктів з видаленими невидимими поверхнями.

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

 

 

 

Рис.16 – Напівтонові зображення об'єктів з видаленими невидимими поверхнями.

4.8 Фактори підвищення наочності глибини

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

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

 

b
c
а

 


Рис.17 – Видалення невидимих ліній або невидимих поверхонь.

 

Для усунення неоднозначності глядачеві потрібна додаткова ін­формація про глибину (відстані від ока) декількох ліній.

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

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

4.9 Півтони на прямолінійних об'єктах, гранично допустимі перспективні спотворення, стереоскопія і рух

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

1) Перспектива є одним з факторів, що сприяють правильному розпізнаванню форми об'єктів серед неоднозначних інтерпретацій зобра­ження.

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

2) Фактори яскравості: одним із засобів підвищення наочності порівняно недорого реалізовано в апаратурі є модулювання яскравості ліній пропорційно глибині. Розташована далі від спостерігача лінія зобра­жується більш блідою, ніж лінії розташовані ближче до нього.

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

3) Стереоскопічні зображення. Прийом передачі інформації про глибину полягає в побудові двох стереоскопічних зображень:

• Одне розглядається лівим оком і повинно бути спроектовано з точки відповідної розташуванню лівого ока.

• Друге аналогічно будується для правого ока.

 
L
R

Рис.18 – Принципи побудови стереоскопічного зображення.

 

 

Для представлення кожному оку відповідних зображень можна використовувати оптичні системи. Альтернативним рішенням являється почергова зміна на екрані лівого і правого зображення не менше ніж 20 раз/сек. з затворами встановленими перед очима.

Недолік стереоскопічного методу полягає в тому, що доводиться будувати два повністю незалежних зображення, а визначення параметрів Δ і Z представляє певні труднощі.

4) Кінетичний ефект глибини. Цей прийом глибини заснований на русі об'єкта відносно спостерігача. Найефективнішим з рухів є обер­тання навколо вертикальної осі: лінії близькі до спостерігача рухаються швидше ніж віддалені. Лінії на протилежних сторонах об'єкта рухаються в проти­лежних напрямках.

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

4.10 Відсікання

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

Ɵ
Ə
Ə

 


межі екрану     Новинка! Нажмите на слова вверху, чтобы отредактировать или просмотреть другие варианты перевода Отказаться Переводчик Google для бизнеса –Инструменты переводчика переводчик сайтов служба "Анализ рынков" Отключить моментальный перевод О Переводчике GoogleМобильная версияКонфиденциальностьСправкаОтправить отзыв
промінь вимкнений
 
 
 
 
 
 
 
 
 
 
 
 
Ə  

 

Рис.19 – Відсікання

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

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

Алгоритм відсікання

Алгоритм складається з двох частин:

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

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

 

 

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

4 розряду коду, якщо в них записана 1-ця, то вони означають наступне:

1 розряд – точка лівіше лівого краю екрана.

2 розряд – точка праворуч від правого краю екрана.

3 розряд – точка під нижнім краєм екрану.

4 розряд – точка над верхнім краєм екрана.

Очевидно, що якщо чотирьохрозрядні коди для обох точок дорів­нюють нулю, то відрізок цілком лежить в межах екрану.

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

С
А
 
 
 
D
 
В

 

АВ поділяється точкою С. АС – відкидається. СВ перевіряється на відкидання і ділиться точкою D. Відкидається CD. DB – повністю лежить в межах екрану. Не завжди легко визначити, де слід проводити розподіл спо­чатку в т. С або т. D. Але якщо перевірку на відкидання повторювати, то порядок, в якому проводиться розподіл не впливає на кінцевий результат.


<== попередня лекція | наступна лекція ==>
D Операції | Розподіл середньою точкою


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн