ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И...

11
КОМПЮТЪРНА ГРАФИКА 3D ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ГЕОМЕТРИЧНО МОДЕЛИРАНЕ В ТРИМЕРНОТО ПРОСТРАНСТВО 9.1. Общи положения Тримерните графични системи дават възможност за създаване на реалистични изображения. За тази цел трябва да се рeшат следните 3 важни проблема: - Как да се представи третото измерение? - Как да се отделят от изображението невидимите за наблюдателя линии, криви и повърхнини? - Как да се създадат реалистични картини с използването на цветовете и интензитета на светлосенките? Геометричният модел съдържа описанията на тримерните обекти, като се използват различни схеми за геометрично представяне на тримерни физически обекти. Описанието, което се съдържа в геометричния модел, се представя във вид на изображение с помощта на различни изобразяващи техники, наречени display technique или visualization technique.[3] Фиг. 9.1 За да се създаде едно реалистично изображение, е необходимо ясно да се дефинират параметрите на визуализацията: - точка на наблюдение; - разположение на проекционната равнина; - вид на проекцията; - източник на светлина;

Upload: others

Post on 31-Jan-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

КОМПЮТЪРНА ГРАФИКА 3D

ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ГЕОМЕТРИЧНО

МОДЕЛИРАНЕ В ТРИМЕРНОТО ПРОСТРАНСТВО

9.1. Общи положения

Тримерните графични системи дават възможност за създаване на реалистични

изображения. За тази цел трябва да се рeшат следните 3 важни проблема:

- Как да се представи третото измерение?

- Как да се отделят от изображението невидимите за наблюдателя линии, криви и

повърхнини?

- Как да се създадат реалистични картини с използването на цветовете и

интензитета на светлосенките?

Геометричният модел съдържа описанията на тримерните обекти, като се

използват различни схеми за геометрично представяне на тримерни физически обекти.

Описанието, което се съдържа в геометричния модел, се представя във вид на

изображение с помощта на различни изобразяващи техники, наречени display technique

или visualization technique.[3]

Фиг. 9.1

За да се създаде едно реалистично изображение, е необходимо ясно да се

дефинират параметрите на визуализацията:

- точка на наблюдение;

- разположение на проекционната равнина;

- вид на проекцията;

- източник на светлина;

Page 2: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

- интензитет на светлината и др.

Тримерните обработки не се различават по организация на техниките от

двумерните графични системи. Всяка графична система се характеризира с това каква

изобразителна техника използва. Не всички последователности от графични тримерни

обработки върху обекти може да представляват изобразителна техника. Тя трябва

задължително да притежава два процеса:

1. Тримерна изобразяваща трансформация – целта е да се прехвърлят обектите от

тримерното в двумерното пространство.

2. Отделяне на скритите линии и повърхнини.

Тези два процеса не осигуряват качествено изображение, но са задължителни.

3. Генериране на реалистични изображения (rendering):

а) създаване на модел на осветяване (Illumination model);

б) нюансирано осветяване (shading);

в) генериране на светлосенки (shadow);

г) използване на текстури (texture);

д) отделяне на вредни изкривявания (anti-alliasing).

9.2. Геометрично моделиране в тримерното пространство

Геометричното моделиране обхваща различни методи за цифрово представяне на

геометричните форми на обектите. Освен геометричната информация понякога в модела

се съдържа и неграфична информация, която спомага за по-пълното описание на обекта и

визуализацията му.

На базата на различни модели за геометрично моделиране се създават и различни

геометрични модели като:

- чертожно моделиране (wire-frame);

- обемно моделиране (solid model);

- повърхностно моделиране (surface model).

9.2.1. Тримерно моделиране

Обект на тримерното геометрично моделиране са тримерните абстрактни обекти,

чиято задача е да представи модела на етническото тяло. Тези геометрични обекти са

подмножество на eвклидовото тримерно пространство (Е3). Малка част от под-

множеството на Е3 може да послужи за адекватен физически модел. Такива под-

множества трябва да имат 6 характеризиращи качества:

- твърдотелност – абстрактното тяло да има непроменяща се форма и

конфигурация, недаващо отклонение между разположение и ориентация;

Page 3: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

- обемна хомогенност – това е свойство, осигуряващо физическа реализуемост на

абстрактния модел. Абстрактното тримерно тяло трябва да има тримерни граници без

изолирани или “висящи” едномерни или двумерни компоненти по отношение на

вътрешността му;

Фиг. 9.2

- ограниченост – всяко абстрактно тяло да заема ограничена част от

пространството;

- затвореност на геометричните обекти по отношение на операции –

трансформации, булеви операции, моделиращи процеси и др.;

- крайно описание – изискване, което осигурява поддържането на моделите в

паметта на компютрите;

- пълна (еднозначна) определеност на границите на абстрактния модел –

означава, че границата на едно абстрактно тримерно тяло трябва да определя еднозначно

неговата вътрешност и да се включва в тялото.

Подмножества на Е3, които удовлетворяват горните 6 свойства, са т. нар. R-

множества - ограничени, затворени, регулярни с полуаналитични (частично аналитични)

граници. Без да се навлиза в математическата терминология, може да се добие

интуитивна представа за регулярност и полуаналитичност от фиг. 9.2.

Фиг. 9.3. Нерегулярно подмножество на Е3 с неаналитична стена (горната)

Page 4: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

Фиг. 9.4

Примери за К-множества А, С и D могат да се разглеждат поотделно и заедно

като К-множества (фиг. 9.3), които илюстрират съответно нерегулярност – границата има

висящи части, несвързани с вътрешността, и отсъствие на частична аналитичност – част

от границата се държи „лошо” – осцилира все по-бързо с приближаване към

координатната равнина ZOY.

Така дефинираните R-множества могат да се разглеждат като топологични

полиедри. Те могат да се представят като многостени с криволинейни ръбове и „добре

държащи се” гранични стени. Определените по такъв начин R-множества не предполагат

свързаност на съставящите ги тела и не изключват проходи (дупки) през тях. Фиг.

9.4 показва група тримерни тела.

Както поотделно, така и заедно – ако са твърдо свързани помежду си, те

представляват К-множества.

9.2.2. Някои определения

За да се използват практически някои математически знания за току-що

дефинираните абстрактни геометрични модели като К-множества, ще дадем няколко

определения.

Фиг. 9.5. Елементи на схема на описание

Синтактично коректни представяния (описания) се наричат всички крайни

символни структури, конструирани със символите от една азбука съгласно дадени

синтактични правила. Съвкупността от всички такива коректни описания образува

пространството на описанията — Р. Едно такова пространство може да бъде разглеждано

като език, генериран от определена граматика. Трябва да се обърне внимание обаче, че

представянията могат да бъдат не само символни низове, а например графове или други

произволни структури, при които не се поставят някакви ограничения към генериращите

граматики. Семантиката в елементите на пространството Р се определя чрез свързване с

определени геометрични същности. По такъв начин се постулира едно математическо

Page 5: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

моделно пространство М, чиито елементи са абстрактни тримерни обекти (R-множества).

Установява се съответствие на елементите от М и елементите от Р чрез съответна схема

на представяне S:М Р (вж. фиг. 9.5), т. е. една схема на описание е релация между

абстрактните тримерни тела и дадени техни описания (представяния). - Едно описание р от пространството Р се нарича валидно в схемата S, ако

съществува поне един такъв елемент т от М (R-множество), че S(т)=р.

- Множеството V от всички валидни описания на една моделна схема образува

нейната област от значения.

- Всички елементи т от М, на които съществува поне едно валидно представяне

от дадена схема S, т. е. т=S-1(р), образуват дефиниционната област на схемата D.

- Едно описание р в моделната схема S се нарича еднозначно, ако съществува

само един елемент т от дефиниционната област D на схемата S, за който S(т)=р, т. е. ако

областта {S-1(p)} е едноелементна област {т} от D.

- Едно валидно представяне р в моделната схема S се нарича

уникално (единствено), ако за всички елементи m от М, за които m=S-1(p) е изпълнено и

условието, че множеството {S(m)} от V е едноелементното множество {р}.

На базата на горните определения за описания в една схема за представяне на

тримерни обемни тела могат да бъдат дадени някои определения за самите моделни

схеми.

Фиг. 9.6

- Една схема на представяне е еднозначна (завършена), ако всички нейни валидни

представяния са еднозначни, т.е. ако инверсната релация S-1 от фиг. 9.5 е еднозначно

съответствие.

- Една моделна схема S е уникална, ако всички нейни валидни представяния са

уникални, т. е. ако S е еднозначно съответствие. Очевидно завършеността на една схема

за тримерно моделиране нито изисква, нито следва от нейната уникалност, така както

еднозначността на едно представяне не произтича, нито предполага неговата уникалност.

Page 6: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

Разбира се, една еднозначна и уникална схема на представяне установява

еднозначно обратимо съответствие между елементите на нейната дефиниционна област и

елементите от областта на нейните значения.

Като следствие от изложените по-горе определения могат да се формулират

следните забележки:

Едно представяне р от една схема на описания е невалидно, ако то не съответства

на нито едно абстрактно тяло чрез тази схема, т. е. ако няма такова R-множество m от

М, за което р=S(т).

Едно валидно описание р е нееднозначно (двусмислено), ако то отговаря на

повече от едно абстрактно тяло в дадената схема на представяне, т.е.

ако съществуват поне два различни елемента т m' от M, за които

S(m)=S(m'). В този случай и за самата схема казваме, че е нееднозначна (схемата S1 от

фиг. 9.6).

Едно абстрактно тяло т има неуникално (не единствено) представяне в дадена

схема S, ако то може да бъде представено по няколко (поне два) различни начина в

тази схема – т.е. ако съществуват поне две различни представяния в схемата р р, за

които S-1(р)=S-1(p')=m. В този случай и за самата схема казваме, че е уникална (схемата S2

от фиг. 9.6).

9.3. Видове обемно моделиране

Разделя се на 3 вида схеми:

- клетъчна декомпозиция (cell decomposition);

- конструктивна твърдотелна геометрия (constructive solid geometry);

- шаблонно моделиране ( sweeping);

9.3.1. Клетъчна декомпозиция

При нея се приема, че моделното тримерно пространство представлява един

обем, дефиниран в дясно ориентирана координатна система (най-често куб или

паралелепипед) – фиг. 9.7.

Фиг. 9.7

Приема се, че всички обекти, които ще се моделират, се намират в този обем и за-

това той се нарича всеобхватен, а пространството извън този обем – празно. Този обем се

Page 7: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

разделя от 3 взаимно перпендикулярни серии от успоредни равнини. Разстоянието между

тези равнини е постоянно за всяка една серия поотделно, но то може да бъде различно за

отделните серии. По този начин се получава, че всеобхватният обем е съставен от отделни

елементи, независими един спрямо друг с формата на паралелепипед. Тези отделни

елементи се наричат voxel (volume element). Много често този модел се нарича вокселен

модел. Обектите се описват посредством вокселите, които попадат в тях. Тъй като е

прието, че вокселите са хомогенни, то един воксел е или изцяло запълнен от даден обект,

или празен. Размерът на един воксел зависи от секущите успоредни равнини. Когато те са

повече, то разрешаващата способност е по-голяма и може достатъчно точно да се опишат

обекти с по-сложна повърхнина. Много често се приема вокселът да има форма на куб. За

да се изгради по-лесно списъкът от воксели, които попадат в моделирания обект, се

възприема някаква последователност като решетка.

Свойства на клетъчната декомпозиция:

1. Описанието е еднозначно и уникално.

2. Валидността на даденото представяне може да се уточни лесно.

3. На този вид представяне липсва сбитост.

4. Дефиниционната област на тази схема е произволно голяма.

Когато имаме по-сложни обекти, е необходимо да се намалят размерите на

вокселите, но това създава затруднение с паметта. Извършват се следните разглеждания:

а) Проверява се дали даден воксел лежи изцяло в обекта или е изцяло извън него.

Ако той е частично вътре в обекта, то се правят разглеждания дали може да се приеме, че

вокселът е вътре или вън от обекта. Съществуват два подхода:

- първият – разглежда се къде е центърът на воксела и ако той е в обекта, се

приема, че той е вътре в обекта; ако е извън него, вокселът е празен;

- вторият – разглежда се къде е по-голямата част от воксела.

б) За воксел, който се приема за пълен, му се присвоява информация 1, а за

другия – 0.

Тъй като главният проблем е ефективното съставяне на описанието, има

модификация на клетъчната декомпозиция, която се нарича клетъчна декомпозиция чрез

кодиране в осмично дърво (octree), като целта е да се преодолее липсата на сбитост. При

тази схема на моделиране в моделното ключе се дефинира фамилия пространствени

решетки по следния начин:

Page 8: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

Фиг. 9.8

Най-напред кубът се разделя на равнини, които минават през средата на ръбовете

му, които се успоредни на трите оси (нулево ниво).

При следващия ход се построяват равнини през средата на новите кубчета (първо

ниво).

При всяко едно деление всеки куб се дели на 8 нови кубчета, които се наричат

октанти. Връзката между куба от предното ниво и осемте нови кубчета се дефинира като

отношение родител — дете. Октантите винаги се кодират по един и същи начин 0-7.

Кодът на нулево ниво се получава по следния начин:

Фиг. 9.9

Разрешаващата способност на модела зависи от броя на нивата. Ако нивата са 2,

то броят на кубчетата е (2х2х2)n=(23)n. Описанието при осмичното дърво представлява

фамилия от к+1 наредени двойки (P, EI)KO, Р – крайно множество от свойства, Е-

множество от несвързани кубчета.

Където размерът на кубчето може да се представи като 2i, i е нивото, където се

намира кубчето, а к е максималният брой подразделения на моделния куб. Елементите от

съвкупността Еi имат йерархично-дървовидна структура със следните свойства:

1. Дървото с всички свои елементи е в зависимост от нивото на подразделяне.

Върхът, т.е. коренът на дървото е възелът, който представлява целия моделен обем.

Всички останали елементи се намират по различни нива в зависимост от това кое

подразделение отразяват. Ребрата на това дърво отразяват отношението родител – дете,

като всеки възел има само едно ребро, което го свързва с неговия родител, и точно 8

ребра излизат от всеки възел, които водят към децата на даден елемент.

Page 9: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

2. Всеки възел, който представлява изцяло пълен или празен елемент,

представлява листо, т.е. не може да бъде родител.

3. Ако възелът е частично запълнен, съществува известна неопределеност за

степента на запълване на елементите от моделираното тяло в съответното ниво на

подразделяне.

9.3.2. Обемно моделиране чрез шаблони

Схемата на представяне се нарича S-схема. Едно двумерно или тримерно тяло,

наречено шаблон, движейки се по определена траектория в пространството, описва

обемно тяло в зависимост от вида на шаблона и вида на траекторията.

Най-простите S-схеми са когато се използват двумерни шаблони, а движението е

транслация или ротация. При обемни транслации моделиращата траектория е права

линия, а контурът на шаблона е произволен. Дефиниционната област на този вид схеми са

тримерни тела, които притежават транслационна симетрия (тела, получени чрез

щамповане). Видът на фигурата, която се описва, завършва от двоен равнинен шаблон,

при положение, че шаблонът е валиден и траекторията не е нулева. Тези схеми са

еднозначни, но не са уникални. Всяко едно тяло с повече от една ос на транслация

симетрично може да се опише по няколко начина в една транслирана S-схема.

- Ротационните S-схеми се дефинират аналогично на транслационните, при тях

траекторията е дъга от окръжност или цяла окръжност, която се намира в равнината,

перпендикулярна на равнината, в която се намира шаблонът. Дефиниционната област на

този вид S-схема е всички обемни тела, които притежават ротационна симетрия по

отношение на валидността. Тези схеми са еднозначни, но не са уникални, особено ако

имат повече oт една ос на ротационна симетрия. [3]

Когато шаблонът е окръжност, траекторията е произволна, а когато шаблонът е

произволен, и траекторията е произволна.

9.3.3. Конструктивна твърдотелна геометрия

Схемите на представяне се наричат С-схеми. Те представляват дървовидни

структури, при които тримерните обекти се представят посредством комбинации от

обемни примитиви. Комбинацията се осъществява чрез т. нар. нормализирани булеви

операции. Нормализацията на булевите операции се налага, за да се осигури алгебрическа

затвореност на пространството от R-множества.

Page 10: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

Фиг. 9.10

Строгото дефиниране на регуляризацията на тези операции е свързано с

понятието “регулярно множество” и с топологичните категории “вътрешност”, “обвивка”,

“околност” и др.

Едно множество Х от евклидовото пространство E3 е регулярно тогава и само

тогава, когато Х=ki(X), където i и k означават вътрешността и обвивката на множеството.

Регуляризацията се записва като r(X)=ki(X).

Регуляризацията на едно множество може да се представи като последователност

от две операции:

- взема се всичко, което е вътре в това множество, т.е. отделят се всички ребра и

върхове;

- вътрешността на тялото се обвива с тънка ципа, при която се получава

затвореност и съответно се връщат ребрата и върховете с изключение на тези, които са

висящи.

Регуляризационните булеви операции се дефинират съответно: [3]

- Х∩У =ki(Х∩У) пресичане на множества;

- ХUУ = ki(ХUУ) обединяване на множества;

- Х/V =ki( Х/У) различни множества.

Дървовидна структура на С-схемите.

С-схемите представляват бинарни дървета, чиито листа могат да бъдат или

примитиви, представляващи подмножество от евклидовото пространство, или група

Page 11: ТЕМА 9. ТРИМЕРНИ ГРАФИЧНИ СИСТЕМИ И ...shu.bg/tadmin/upload/storage/999.pdfсвързаност на съставящите ги тела и не изключват

аргументи, дефиниращи дадено движение като транслация и ротация. А останалите възли

представляват регулиращи булеви операции.

В дефиницията на С-дърво се използват две основни понятия – твърдотелни

движения и листа-примитиви, наред с коментираните регуляризирани булеви операции. И

докато твърдотелните движения – преместването и въртенето – едва ли се нуждаят от

допълнителни пояснения, примитивите като основни обекти на С-схемите трябва да

бъдат разгледани специално.

Фиг. 9.11. С-дърво и телата, представени чрез неговите поддървета