Streszczenie z wykładów, Semestr 5, Grafika komunikacja człowiek - komputer


Moduł 1 - Wprowadzenie do grafiki komputerowej

Grafika rastrowa - reprezentacja obrazu za pomocą pionowo-poziomej siatki odpowiednio kolorowanych pikseli na monitorze komputera, drukarce lub innym urządzeniu wyjściowym.

Do pierwszej grupy (rastrowej) miedzy innymi można zaliczyć:

Pixmapę charakteryzują następujące podstawowe właściwości:

wysokość i szerokość pixmapy liczona jako liczba pikseli

liczba bitów na piksel opisująca liczbę możliwych do uzyskania kolorów

Grafika wektorowa (obiektowa) - jeden z dwóch podstawowych rodzajów grafiki komputerowej, w której obraz opisany jest za pomocą figur geometrycznych (w przypadku grafiki dwuwymiarowej) lub brył geometrycznych (w przypadku grafiki trójwymiarowej), umiejscowionych w matematycznie zdefiniowanym układzie współrzędnych, odpowiednio dwu- lub trójwymiarowym.

0x01 graphic

Formaty graficzne można podzielić na dwie grupy:

Związane z grafiką rastrową (nieskalowalne),

Związane z grafiką wektorową (skalowalne).

BMP (i DIB) - zapis w postaci mapy bitowej bezstratnej o różnej dostępnej palecie barw: 1,4,8,24 bity

GIF - zapis z indeksacją barwy - paleta ograniczona do 256 pozycji, bezstratna kompresja LZW, możliwość zapisu kilku obrazów w pliku - GIF animowany.

PCX - format stosowany w programach Paint/Paintbrush, istnieje kilka wersji zapisu, paleta 1,4,8,24 bity na piksel.

TIFF - zapis bezstratny, paleta 1,4,8,24 bity na piksel, stosowane różne metody kompresji najczęściej LZW. Format pierwotnie przeznaczony dla poligrafii.

TGA - (Targa) mapa bitiwa z opcjonalną kompresją RLE, paleta 8,16,24,32 bity na piksel, dodatkowo TGA ma możliwość zapisania informacji o przezroczystości (tzw. kanał Alfa).

JPG (JPEG) zapis z pełną paleta barw ale stratną kompresją DCT. Zaletą jest bardzo wydajna kompresja. Najnowsza wersja JPEG 2000 o znacznie podwyższonej jakości stratnej kompresji.

PNG - unowocześniona wersja formatu GIF, wydajniejsza kompresja bezstratna, pełna paleta barw, obsługa kanału Alfa. Dodatkowa zaleta jest brak ograniczeń licencyjnych.

Do drugiej grupy (wektorowej) można między innymi zaliczyć:

WMP - zapis stosowany w MS Windows.

EPS, PS - Postscript - język opisu strony opracowany przez firmę Adobe.

HPGL - język sterowania ploterami firmy HP.

DXF - przemysłowy standard stosowany przez firmę Autodesk w swoich aplikacjach (AutoCAD).

SVG - standard opracowany w oparciu o XML na potrzeby WWW.

Moduł 2 Światło i barwa w grafice komputerowej

Światło — promieniowanie elektromagnetyczne rejestrowane przez oko. Zakres promieniowania odpowiadający przedziałowi widma od ok. 380nm (fiolet) do ok. 700nm (czerwień).

Barwa - to wrażenie wzrokowe wywołane w mózgu przez promieniowanie padające na receptory oka.

Atrybuty - odcień, nasycenie, jasność

Mieszanie addytywne jest mieszaniem świateł. Mieszaniem promieniowania.

Oznacza to, że jeśli do oka padają dwa rodzaje promieniowania o różnych odcieniach, to wrażenie sumaryczne jest wypadkową obu. Przykładem takiego mieszania jest oświetlenie sceny teatralnej reflektorami z różnymi filtrami. Wypadkowa mieszania addytywnego dąży do bieli.

Z drugiej strony barwa biała (np. światła słonecznego) zawiera wszystkie składowe barwne. I jest efektem addytywnego mieszania tych wszystkich składowych.

Mieszanie subtraktywne jest mieszaniem farb. Farba jest substancją pochłaniającą składowe promieniowania o określonej długości fali. Np. farba niebieska pochłania wszystkie składowe oprócz niebieskiej. A więc jeśli oświetlimy niebieską powierzchnię światłem białym to odbije ona tylko promieniowanie niebieskie i taką barwę postrzegamy.

Wypadkowa mieszania subtraktywnego dąży do czerni. (Znany z przedszkola eksperyment: co powstanie ze zmieszania wszystkich farb z palety?)

Barwy dopełniające to dwie takie barwy, których mieszanie addytywne daje biel, a subtraktywne czerń.

Mieszanie addytywne

Mieszanie subtraktywne

0x01 graphic

0x01 graphic

Kolorymetria jest dyscypliną zajmującą się barwami: definiowaniem i opisywaniem barw oraz ich właściwościami.

Oko jest narządem zmysłu pozwalającym na postrzeganie otoczenia. Gałka oczna ma kształt zbliżony do kuli o średnicy od ok. 16 mm (dzieci) do ok. 24 mm (osoby dorosłe). Wypełniona jest przezroczystą, galaretowatą substancją (zwaną ciałem szklistym) utrzymującą kształt oka. Gałka oczna pokryta jest twardówką - wytrzymałą i nieprzezroczystą (białą) błoną. Jej przednia, widoczna część, zwana rogówka, jest przezroczysta i stanowi naturalna ochronę oka. Twardówka jest wyścielona od wewnątrz naczyniówką - warstwą naczyń krwionośnych. Oko jako przyrząd optyczny pozwala na odbiór wrażeń dzięki dwóm elementom : soczewce skupiającej i warstwie receptorów, na której powstaje odwrócony, rzeczywisty i pomniejszony obraz. Soczewka ma możliwość zmiany krzywizny, dzięki czemu długość ogniskowej może się zmieniać w granicach od ok. 23 mm do ok. 19 mm. Zmianę kształtu soczewki powodują mięśnie rzęskowe. W stanie spoczynku soczewka zapewnia ostre widzenie obiektów znajdujących się w dużej odległości (w nieskończoności). Skurcz mięśni rzęskowych powoduje rozciągnięcie soczewki i zmniejszenie jej krzywizny. Dzięki temu możliwe jest ostre widzenie obiektów znajdujących się bliżej. Proces dostosowywania się oka do odległości w celu zapewnienia ostrego widzenia nazywa się akomodacją oka. Soczewka przysłonięta jest tęczówką działającą jak przysłona aparatu fotograficznego. Otwór w tęczówce - źrenica zapewnia możliwość regulacji ilości światła wpadającego do oka. Mięśnie tęczówki (okrężne zmniejszające źrenicę i promieniowe rozszerzające ją) tworzą niepowtarzalny wzór wykorzystywany przez biometrię oka. Obraz powstaje na siatkówce, na której znajdują się receptory połączone nerwem wzrokowym z mózgiem.

0x01 graphic

Warto dodać, że para oczu daje człowiekowi możliwość oceny odległości. Jeśli patrzymy na zbliżający się obiekt, to osie optyczne obu gałek przecinają się pod coraz większym kątem. Analiza tego kąta przez mózg pozwala wnioskować o odległości do obiektu. Z drugiej strony jednak, analiza odległości i położenia w przestrzeni jest dokonywana na podstawie postrzeganych wzajemnych relacji (np. wzajemnego zasłaniania) między przedmiotami, akomodacji oraz zdobytego doświadczenia. Na tej podstawie osoby, które utraciły jedno oko również potrafią ocenić odległości.

Zdobyte doświadczenie jest również wyjaśnieniem problemu postrzegania świata „do góry nogami”. Soczewka oka odwraca obraz i dopiero mózg interpretuje obraz właściwie. Nie jest to umiejętność wrodzona ale nabyta. Dziecko do ok. pół roku nabiera doświadczeń ruchowych i najprawdopodobniej dopiero wtedy następuje odwrócona interpretacja.

Działanie oka

Światło przechodzi przez przednią część twardówki - rogówkę;

wpada do oka przez źrenice regulowaną tęczówką - kolorową częścią oka;

przechodzi przez soczewkę, która załamuje promienie świetlne;

przechodzi przez ciało szkliste;

promienie padają na wewnętrzną warstwę oka - siatkówkę (gdzie powstaje odwrócony obraz), składającą się z fotoreceptorów - czopków (kolor) i pręcików (kształt i ruch). Plamka żółta - największe skupisko czopków; plamka ślepa - tam nie ma fotoreceptorów, od niej wychodzi nerw wzrokowy;

poprzez nerw wzrokowy i dalsze składniki drogi wzrokowej impulsy nerwowe są przekazywane do ośrodków wzrokowych kory mózgowej. Bardzo ważna jest obecność rodopsyny w pręcikach i jej podobnych barwników w czopkach.

Elementy ciała rzęskowego, czyli wyrostki rzęskowe, to promieniście ułożone fałdy, które wydzielają ciecz wodnistą (mającą udział w sztywności gałki ocznej), natomiast mięsień rzęskowy umożliwia zmianę krzywizny soczewki, co zmienia jej ogniskową i sprawia, że oko ma zdolność do akomodacji.

Siatkówka jest wielowarstwową tkanką nerwową zawierającą ponad 120 mln receptorów. Fotony trafiając do receptorów wywołują reakcje elektrochemiczne tworząc impulsy nerwowe przenoszone do mózgu.

Na siatkówce jest ok. 120 mln pręcików i ok. 6 mln czopków. Receptory te są rozłożone nierównomiernie na siatkówce w okolicach plamki żółtej (zwanej też dołkiem centralnym), przy czym pręciki znajdują się na całej siatkówce poza plamką żółtą, natomiast czopki głównie w plamce żółtej. Połączenie nerwu wzrokowego z siatkówka tworzy tzw. plamkę ślepą na, której nie ma żadnych receptorów. Plamka żółta pokrywa kąt ok. 1 stopnia pola widzenia. Gęstość czopków jest tam największa - rozmieszczone są one tak, że odległość między ich środkami jest równa ich średnicy (ok. 0,002 mm). Poza tym polem gęstość receptorów gwałtownie spada. Pręciki, mimo że na całej siatkówce, to także rozmieszczone są nierównomiernie. Ich największe skupienie występuje w odległości kątowej ok. 15 stopni od plamki żółtej (dlatego o widzeniu nocnym mówimy, że jest widzeniem peryferyjnym). Gęstość rozmieszczenia receptorów jest związana z rozdzielczością widzenia, czyli minimalną odległością między punktami, które są postrzegane w postaci dwóch niezależnych punktów a nie jednej plamy. Doświadczalnie stwierdzono, że maksymalna rozdzielczość oka ludzkiego wynosi ok. 1 minuty kątowej. Rozdzielczość tę nazywa się minimum separabile.

Podstawowe różnice między receptorami decydują o sposobie postrzegania świata przez człowieka.

Czopki pozwalają na rejestracją wrażeń barwnych i rozróżnianie odcieni barwnych. Do pobudzenia wymagają dużej ilości światła - odpowiadają za widzenie dzienne, nazywane fotopowym.

Pręciki pozwalają na rejestrację tylko odcieni szarości, do pobudzenia wystarczy im wielokrotnie mniej światła - odpowiadają za widzenie nocne, , nazywane skotopowym. W nocy widzimy bez barw („w nocy wszystkie koty są czarne”), główne kształty i kontury.

Warto zwrócić uwagę na połączenia receptorów z mózgiem. Liczba połączeń nerwowych siatkówki w nerwie wzrokowym wynosi ok. 1 mln (wobec ok. 126 mln receptorów). A zatem nie ma odpowiedniości 1 receptor - 1 połączenie. Już na etapie przetwarzania na siatkówce obraz poddawany jest „kompresji”. Połączenia nerwowe doprowadzone są do tzw. jednostek receptorowych - pól, które grupują receptory. Jednostki plamki żółtej obejmują po jednym receptorze (czopku), natomiast poza nią grupują od kilkudziesięciu do kilkuset receptorów. W ramach plamki żółtej każdy receptor (czopek) jest więc indywidualnie połączony z nerwem wzrokowym. Szacuje się że te kilka procent powierzchni siatkówki tworzy ok. 50 % połączeń. Reszta obejmuje pozostały obszar siatkówki.

Czopki i pręciki maja również różne zależności pobudzenia od długości fali. Kształt zależności w obu przypadkach jest praktycznie identyczny - jest to krzywa dzwonowa obejmująca prawie cały obszar promieniowania widzialnego. Ale maksima tych krzywych są przesunięte. Dla widzenia dziennego (fotopowego) jest to ok. 555 nm, dla widzenia nocnego (skotopowego) ok. 515 nm. Efektem tego jest wrażenie, że powierzchnie niebieskozielone postrzegamy w nocy jako jaśniejsze niż w dzień, natomiast żółtoczerwone jako ciemniejsze (efekt Purkiniego).

Stan pośredni między widzeniem skotopowym a fotopowym (o świcie i o zmierzchu) nazywamy widzeniem mezopowym.

W 1802 roku Young zaproponował istnienie trzech niezależnych receptorów, każdy odpowiedzialny za inną składową barwną. Helmholtz rozwinął i sformalizował tę teorię w 1850 roku. Teoria ta została częściowo potwierdzona w latach sześćdziesiątych XX wieku.

0x01 graphic

Przyjmuje się, że na siatkówce człowieka występują czopki pobudzane przez fale elektromagnetyczne o długości odpowiednio:

czopki "niebieskie" - 437nm czopki "zielone" - 533nm czopki "czerwone" - 564nm

Percepcja barw - złożony proces, w którym biorą udział nie tylko receptory siatkówki ale i mózg . Na odbiór wrażeń wzrokowych mają wpływ pamięć oraz zdobyte doświadczenie.

Można wyróżnić trzy procesy niezbędne do tego aby dostrzec barwy:

Emisja światła (proces fizyczny).

Pobudzenie receptora siatkówki (proces fizjologiczny).

Wytworzenia wrażenia wzrokowego (proces psychofizyczny)

Percepcja barw jest procesem subiektywnym. Oznacza to, że każdy postrzega barwy w inny sposób. Możliwe są również minimalne różnice między lewym a prawym okiem.

Do tego trzeba dodać różnice interpretacyjne zależne od doświadczeń i kultury. Znane są różnice łączenia barw z emocjami uwarunkowane kulturowo (np. postrzegania bieli i czerni).

Prawa Grassmana

Zasada trójchromatyczności

Każdą dowolną barwę można przedstawić za pomocą trzech składowych - barw podstawowych (takich, że żadna z nich nie jest wypadkową dwóch pozostałych - są niezależne kolorymetrycznie).

Zasada ciągłości

Jeśli mamy do czynienia z mieszaniną dwóch barw, to ciągła zmiana jednej składowej powoduje ciągłą zmianę mieszaniny.

Zasada addytywności

Barwa mieszaniny nie zależy od jej składu widmowego tylko od barw składników.

Metameryzm - zjawisko polegające na różnym odbiorze barwy tej samej substancji barwiącej (np. zawartej w farbie) uzależnionym od rodzaju światła, w którym substancja barwiąca jest oglądana. Substancja barwiąca o silnym metameryzmie to substancja silnie zmieniająca barwę pod wpływem zmian widma światła oświetlenia. Zjawisko metameryzmu spektakularnie ujawnia się wówczas, gdy dwie substancje barwiące oglądane w tym samym oświetleniu (np. dziennym) odczytywane są jako zbliżone barwą do siebie, natomiast w innym oświetleniu (np. żarówki), z powodu ich różnego metameryzmu, jako różniące się między sobą.

CIEXYZ zwana też CIE XYZ lub CIE1931 - przestrzeń barw stworzona w 1931 przez Międzynarodową Komisję Oświetleniową. CIE XYZ jest specjalną paletą barw skonstruowaną przede wszystkim pod kątem postrzegania barw przez ludzkie oko (fotoreceptory).

Barwę w sposób jednoznaczny opisuje się we współrzędnych trójchromatycznych X, Y, Z, przy czym współrzędne te zależne są od składowych, zwanych również względnymi sprawnościami wizualnymi czopków. Te trzy współrzędne trójchromatyczne odpowiadają procentowemu udziałowi trzech podstawowych barw R (czerwonej), G (zielonej) i B (niebieskiej).

CIE XYZ jest opisem trójwymiarowym. Współrzędne te nakładając się odwzorowywane są w przestrzeni barw przedstawionej z pomocą wykresu chromatyczności jako tzw. trójkąt barw: obszar zamknięty dwiema liniami - krzywą i prostą.

Przestrzeń CIELab to przestrzeń barw, która została znormalizowana w 1976 przez CIE (Międzynarodową Komisję Oświetleniową). Stanowi ona modyfikację przestrzeni barw L,a,b, stworzonej przez Huntera w 1948 roku. CIELab stanowi matematyczną transformację przestrzeni CIEXYZ. Transformację tę wprowadzono jako wynik badań nad spostrzeganiem przez oko ludzkie różnicy między barwami. Zakładano, że barwy znajdujące się w przestrzeni CIELab w jednakowej odległości ΔE od siebie będą postrzegane jako jednakowo różniące się od siebie. Zatem CIELab miała być równomierną przestrzenią barw. De facto przestrzeń CIELab jest jedynie zalecana jako równomierna przestrzeń barw. Dowodem nierównomierności tej przestrzeni jest fakt, że różnicy percepcyjnej barw nie można jednoznacznie określić za pomocą ΔE.

RGB - jeden z modeli przestrzeni barw, opisywanej współrzędnymi RGB. Jego nazwa powstała ze złożenia pierwszych liter angielskich nazw barw: R - red (czerwonej), G - green (zielonej) i B - blue (niebieskiej), z których model ten się składa. Jest to model wynikający z właściwości odbiorczych ludzkiego oka, w którym wrażenie widzenia dowolnej barwy można wywołać przez zmieszanie w ustalonych proporcjach trzech wiązek światła o barwie czerwonej, zielonej i niebieskiej (zob.promieniowanie elektromagnetyczne). [addytywne mieszanie barw]

Model RGB miał pierwotnie zastosowanie do techniki analogowej, obecnie ma również do cyfrowej. Jest szeroko wykorzystywany w urządzeniach analizujących obraz (np. aparaty cyfrowe, skanery) oraz w urządzeniach wyświetlających obraz (np. telewizory, monitory komputerowe).

Zapis koloru jako RGB często stosuje się w informatyce (np. palety barw w plikach graficznych, w plikach html). Najczęściej stosowany jest 24-bitowy zapis kolorów (po 8 bitów na każdą z barw składowych), w którym każda z barw jest zapisana przy pomocy składowych, które przyjmują wartość z zakresu 0-255. W modelu RGB 0 (dla każdej ze składowych) oznacza kolor czarny, natomiast 255 (analogicznie) kolor biały. W rzadszych przypadkach stosuje się model, w którym przypada po 12 lub 16 bitów na każdą ze składowych, co daje dużo większe możliwości przy manipulowaniu kolorem.

Model RGB wywodzi się bezpośrednio y się z teorii trójpobudzenia. Przestrzeń barw reprezentuje sześcian wyznaczony przez trzy barwy podstawowe: czerwoną, zieloną i niebieską.

0x01 graphic

Model CMY subtraktywnego mieszania barw oparty o barwy C (cyan - zielononiebieska ), M (Magenta - purpurowa), Y (Yellow - żółta). Model ten został opracowany dla potrzeb poligrafii i wszystkich urządzeń wykorzystujących subtraktywne mieszanie barw.

Konwersja z RGB do CMY

0x01 graphic

CMY jest modelem analogicznym do RGB pod względem właściwości.

Ze względu na technologiczne problemy uzyskania barwy czarnej mieszaniny zaproponowano dodanie barwnika czarnego (K). Wtedy można usunąć składową szarą G: G=min(C,M,Y) zmieniając wartości barw

C = C - G

M = M - G

Y = Y - G

K = k * G

gdzie k jest współczynnikiem dobieranym doświadczalnie dla danego urządzenia.

Raster i skończone rozmiary piksela powodują, że rysunek zostaje zniekształcony. Wszystkie ukośne linie przybierają „schodkowy” kształt (przykład odcinka na rysunku). Dla złożonych obrazów może to utrudniać interpretację rysunku - przykładem może być szachownica widziana pod kątem. Naturalnym rozwiązaniem tego problemu wydaje się, po prostu, zmniejszenie rozmiarów piksela, czyli zwiększenie rozdzielczości rastra. Niestety nie jest to takie proste. Na przeszkodzie stają właściwości oka ludzkiego, które stara się powiększyć różnicę jasności sąsiadujących ze sobą pól. Dzięki temu możemy czytać gazetę o zmierzchu, ale powoduje to również, że idealny obraz mogą zakłócić nam nawet najdrobniejsze rysy. Zwiększenie rozdzielczości rastra, w pewnym zakresie, niewiele więc daje. Oczywiście jest pewna granica rozdzielczości kątowej, powyżej której można „oszukać” oko. W fotografii cyfrowej i poligrafii przyjmuje się, że taką granicą jest 300dpi (dots per inch - punktów na cal) dla zdjęć i publikacji oglądanych „na wyciągnięcie ręki”, czyli z odległości 40 - 60 cm. Taka rozdzielczość zapewnia, że oko nie zauważy rastrowego charakteru rysunku. Oznacza to np., że aby zapewnić dobrą jakość zdjęcia 10x15 cm (4x6 cali), to powinno ono mieć rozdzielczość1200x1800 pikseli. Dwa razy większe zdjęcie - dwa razy większa rozdzielczość. Oczywiście np. plakaty reklamowe oglądamy z zupełnie innej odległości, stąd aby zapewnić odpowiednią rozdzielczość kątową potrzebna jest inna rozdzielczość obrazu.

Nie zawsze odpowiednia rozdzielczość jest możliwa do osiągnięcia. Aby w takiej sytuacji poprawić odbiór rastrowego obrazka wykorzystuje się tzw. antyaliasing - metodę poprawy wyglądu bazującą na teorii sygnałów. Tak naprawdę problem wynika z próbkowania z określoną rozdzielczością. Oprócz schodkowych odcinków może się więc pojawić problem znikania (i czasowego pojawiania się) obiektów na tyle małych, że mogą zmieścić się pomiędzy próbkami. Błędy próbkowania zamienia się na błędy zaszumienia - na które oko ludzkie jest mniej wrażliwe. Stosując odpowiednie filtrowanie dokonuje się „rozmycia”, dotychczas kontrastowej, barwy sąsiednich pikseli (rysunek odcinka). Oko ludzkie dokona pewnego rodzaju uśrednienia, co prawda operacja taka nie doda szczegółów, ale problem schodków przestaje przeszkadzać. Nawet widok szachownicy sprawia wtedy wrażenie poprawnego. Warunkiem koniecznym uzyskania tego efektu jest duża liczba barw lub stopni szarości dla każdego piksela. Biorąc pod uwagę możliwość rozróżniania barw przez oko ludzkie przyjmuje się, że aby pokazać pełną paletę barw potrzeba 24 bity na piksel (po 8 bitów na każdą składową RGB). Standardem dla kart graficznych stało się przechowywanie informacji w postaci 32 bitów na piksel. W takich rozwiązaniach dodatkowe bity mogą być wykorzystane do opisu innych właściwości np. przezroczystości. Czasami stajemy przed dylematem czy, z dwojga złego, lepiej wybrać tryb pracy o mniejszej rozdzielczości np. 800x600, ale z pełną skalą barw (24 bity na piksel), czy wyższą rozdzielczość np. 1200x1024 ale tylko 8 bitów na piksel. Biorąc pod uwagę właściwości oka ludzkiego i możliwości programów graficznych, rozstrzygnięcie będzie oczywiste. Poza wyjątkowymi i szczególnymi przypadkami, pierwszy wariant pozwoli uzyskać lepszy i przyjemniejszy w odbiorze obraz.

Moduł 3 Podstawowe operacje rastrowe

Jednym z podstawowych problemów tego typu jest zadanie narysowania odcinka na mapie pikseli. Najprostszym rozwiązaniem wydaje się poprowadzenie prostej przez końce odcinka i opisanie jej równaniem . Następnie wyznaczenie wartości dla całkowitych wartości odpowiadających kolejnym kolumnom pikseli. Jeśli teraz przybliżymy współrzędne do wartości całkowitej, to otrzymamy współrzędne dla kolejnych pikseli tworzących odcinek. Tak skonstruowany algorytm przyrostowy ma podstawową wadę. Wymaga operacji zmiennopozycyjnych (mnożenia, dodawania, zaokrąglania).

Rozwiązanie oparte w całości na arytmetyce stałopozycyjnej zaproponował Bresenham w 1965 roku. Jest to algorytm przyrostowy, w którym jedna współrzędna np. x wzrasta w każdym kroku o 1. Bez zmniejszania ogólności można przyjąć, że wystarczy opracować algorytm dla nachylenia odcinka od 0 do 1. (Jest to 1/8 układu współrzędnych. Dla innych wartości można bowiem odpowiednio zamienić zmienne lub znaki przed nimi.) Wzrost y w takim przypadku zależy od wyboru piksela (S lub T), który jest bliżej teoretycznej prostej. O wyborze decyduje zmienna kontrolna d, która jest uaktualniana w każdym kroku.

Wypełnianie obszaru jest drugim po rysowaniu odcinka lub łuku, najczęściej występującym problemem związanym z prymitywami. Zadanie dla szczególnych przypadków (np. dla prostokąta) jest zadaniem trywialnym. Natomiast w ogólnym przypadku algorytm powinien pracować poprawnie dla dowolnego wielokąta (także wklęsłego), również dla wielokątów z „dziurami”.

Wypełnianie przez spójność zakłada znajomość punktu startowego (tzw. „ziarna”) wewnątrz obszaru. Punkt ten jest wypełniany, a następnie startując z niego wypełniamy punkty sąsiednie (jeśli oczywiście istnieją - jeśli nie są już wypełnione, ani nie są punktami granicznymi obszaru). Jednocześnie punkty sąsiednie stają się wyjściowymi dla wypełniania w następnym kroku. Procedura ta jest powtarzana dopóki można wskazać punkty wyjściowe (niewypełnione) wewnątrz obszaru.

Wypełnianie przez kontrolę parzystości wykorzystuje pewną właściwość przecięcia brzegu linią prostą. Jeśli punkty przecięcia ponumerujemy kolejnymi liczbami naturalnymi zgodnie z orientacją prostej (na rysunku od lewej do prawej dla prostej poziomej) i jeśli będziemy poruszać się po prostej zgodnie z jej orientacją to każde nieparzyste przecięcie będzie „wejściem” do wnętrza obszaru, natomiast każde parzyste będzie „wyjściem” na zewnątrz. Zatem, aby wypełnić obszar należy go przecięć prostymi odpowiadającymi kolejnym rzędom pikseli, a następnie wypełnić odcinkami pomiędzy każdym nieparzystym przecięciem, a najbliższym parzystym.

Większość rysowanych obiektów jest definiowana w rzeczywistym układzie kartezjańskim. Przedstawienie takiego obiektu na ekranie monitora (lub z wykorzystaniem innego urządzenia) wymaga określenia fragmentu, który jest obrazowany. Jeśli tylko część prymitywu jest zobrazowana, to oprócz algorytmu rysowania prymitywu jest potrzebny algorytm obcinania go do widocznego fragmentu

Algorytm Cohena-Sutherlanda (1974) służy do obcinania odcinków do prostokątnego okna. Oznacza to, że należy wybrać odcinki (lub ich fragmenty) do obcięcia na podstawie położenia ich końców.

Geometria obliczeniowa (ang. computational geometry) jest stosunkowo nową dziedziną informatyki. Z jednej strony jest często traktowana jako narzędzie niezbędne do realizacji algorytmów w grafice komputerowej, z drugiej pozwoliła również wprowadzić do grafiki nowe struktury danych lub je usystematyzować.

Moduł 4 - Przekształcenia geometryczne

Jak zatem translację na płaszczyźnie?

Operację tę można opisać macierzą

0x01 graphic

Między współrzędnymi zachodzi następujący związek:

0x01 graphic

i jest to równoważne opisowi translacji o wektor w postaci układu równań:

0x01 graphic

Tak wykonana operacja wymaga użycia współrzędnych jednorodnych.

Normalizacja

Niech , opisują położenie punktu w trójwymiarowym kartezjańskim układzie współrzędnych. W grafice komputerowej do opisu położenia oraz opisu operacji (transformacji geometrycznych), którym punkty będą podlegały, jest używany układ współrzędnych jednorodnych znormalizowanych. Dzięki temu wszystkie stosowane transformacje geometryczne mogą być opisane w identyczny sposób za pomocą mnożenia macierzowego. Jeśli współrzędne xp, yp, zp, opisują położenie punktu, to odpowiada temu wektor 0x01 graphic
we współrzędnych jednorodnych znormalizowanych. We współrzędnych nieznormalizowanych wektor ten miałby postać 0x01 graphic
dla 0x01 graphic
. Przy czym 0x01 graphic
, 0x01 graphic
, 0x01 graphic
, co nosi nazwę operacji normalizacji.

Jeśli macierz M opisuje pewną transformację geometryczną to operację tę można opisać następująco:

0x01 graphic
czyli: 0x01 graphic
gdzie P' opisuje położenie punktu po przekształceniu. Oczywiście, jeśli wynik mnożenia macierzy jest nieznormalizowany, to należy dokonać normalizacji.

0x01 graphic

Jak opisać translację na płaszczyźnie? [przesunięcie]

Operację tę można opisać macierzą 0x01 graphic

Między współrzędnymi zachodzi następujący związek:

0x01 graphic

i jest to równoważne opisowi translacji o wektor w postaci układu równań: 0x01 graphic

Symetrie:

1

0

0

0

-1

0

0

0

1

względem OX

-1

0

0

0

1

0

0

0

1

względem OY

-1

0

0

0

-1

0

0

0

1

środkowa

x

x

0

x

x

0

0

0

1

obrót

1

0

T

0

1

T

0

0

1

przesunięcie

S

0

0

0

S

0

0

0

1

skalowanie

1

H

0

H

1

0

0

0

1

pochylenie

Skalowanie można opisać macierzą:

0x01 graphic
wtedy 0x01 graphic

Ale wynik tej operacji nie jest znormalizowany. Zgodnie z przyjętymi wcześniej zasadami posługiwania się współrzędnymi jednorodnymi taka operacja jest w tym przypadku niezbędna.

Zatem 0x01 graphic
co odpowiada skalowaniu ze współczynnikiem S.

0x01 graphic

Moduł 5 - Reprezentacja przestrzeni trójwymiarowej na płaszczyźnie

Rzutowanie jest przekształceniem przestrzeni trójwymiarowej na przestrzeń dwuwymiarową (pozwala przedstawić obiekty trójwymiarowe na płaszczyźnie)

Rzutowanie równoległe, gdy promienie rzutujące są prostymi równoległymi. Dodatkowo mówimy o rzutowaniu równoległym prostokątnym, jeśli rzutnia jest prostopadła do kierunku rzutowania oraz o rzutowaniu równoległym ukośnym w każdym innym przypadku.

O rzutowaniu równoległym mówimy, że jest prostokątne wtedy, gdy promienie rzutujące są prostopadłe do płaszczyzny rzutni. W przeciwnym przypadku rzutowanie równoległe jest ukośne.

Rzutowanie perspektywiczne, gdy promienie rzutujące tworzą pęk prostych. Oczywiście, mówienie w tym przypadku o prostopadłości (lub nie) rzutni nie ma sensu, gdyż w rzutowaniu perspektywicznym dokładnie jeden promień może być prostopadły do płaszczyzny rzutni, a wszystkie pozostałe tworzą z nią kąty mniejsze od kąta prostego.

Rzutowanie perspektywiczne jest często nazywane rzutowaniem środkowym lub centralnym.

Macierz opisująca rzutowanie równoległe będzie miała następującą postać:

0x01 graphic
, a równanie 0x01 graphic

Operacja w tym przypadku nie wymaga normalizacji.

W każdym rzucie perspektywicznym istnieje przynajmniej jedna rodzina prostych równoległych i nie równoległych do rzutni, taka, że rzuty tych prostych przecinają się w jednym punkcie zwanym punktem zbiegu. W zależności od położenia rzutni względem obiektu mówimy o rzutowaniu perspektywicznym jednozbiegowym, dwuzbiegowym lub trójzbiegowym.

Rzutowanie może być opisane macierzowo, analogicznie do opisu operacji geometrycznych zaprezentowanych wcześniej.

Rozpatrzmy rzutowanie perspektywiczne w przestrzeni obserwatora. Współrzędne opisują położenie w lewoskrętnym układzie współrzędnych obserwatora 0XYZ.

Niech obserwator (środek rzutowania) znajduje się w punkcie (0, 0, -d) dla a płaszczyzna rzutni ma równanie z = 0 . Macierz rzutowania będzie wtedy miała postać: 0x01 graphic

Jeżeli przyjmiemy, że dokonujemy rzutowania perspektywicznego na płaszczyznę i interesuje nas prostokąt obrazu jako część rzutni, to środek rzutowania i prostokąt obrazu wyznaczą pewien fragment przestrzeni, który może zostać „utrwalony”. Jeżeli do tego dodamy dwie płaszczyzny równoległe do rzutni, które ograniczą wybrany fragment z przodu i z tyłu, to powstanie figura będąca ostrosłupem ściętym o podstawie prostokątnej nazywana ostrosłupem widzenia lub piramidą widzenia. Zatem po zdefiniowaniu położenia obserwatora (środka rzutowania), rzutni i ostrosłupa widzenia, należy wydzielić te obiekty i punkty przestrzeni, które będą rzutowane

Dla rzutowania równoległego odpowiednia bryła widzenia zdefiniowana analogicznymi parametrami będzie prostopadłościanem. Możliwe jest przekształcenie ostrosłupa widzenia (ostrosłupa ściętego !) w odpowiadający mu prostopadłościan. Przekształcenie takie nazywa się przekształceniem perspektywicznym (a nie rzutowaniem).

Moduł 6 - Modelowanie obiektów

0x01 graphic

Krzywe Béziera są krzywymi parametrycznymi, tzn. każda współrzędna punktu krzywej jest pewną funkcją liczby rzeczywistej będącej wspomnianym parametrem; aby określić krzywą na płaszczyźnie potrzebne są dwie funkcje, aby określić krzywą w przestrzeni - trzy, itd.

Krzywe wymierne Béziera opisane są w przestrzeni jednorodnej. Oznacza to, że analogicznie do przekształceń geometrycznych opisanych macierzowo w przestrzeni jednorodnej, krzywe płaskie będą opisane w R3, natomiast krzywe trójwymiarowe będą opisane w przestrzeni R4 .

Krzywa B-sklejana jest definiowana jako kombinacja liniowa funkcji sklejanych Nm(t) o współczynnikach odpowiadających punktom kontrolnym (punktom de Boora). Funkcje sklejane są przedziałami stopnia m , co nie jest związane z liczbą punktów tak jak w przypadku krzywych Béziera. Oznacza to rzeczywiście uniezależnienie stopnia wielomianu opisującego krzywą (oczywiście przedziałami w tym przypadku) od liczby punktów kontrolnych.

Reprezentacja brzegowa (ang. b-rep - boundary representation) opisuje obiekt za pośrednictwem opisu jego brzegu - powierzchni ograniczającej obiekt (wielościan opisany przez listę wierzchołków, krawędzi i ścian.

Reguła Eulera w - k + s = γ s - liczba ścian, k - liczba wierzchołków, s - liczba krawędzi

Dla każdego wielościanu zwykłego spełniona jest reguła Eulera. Rozszerzoną klasę obiektów - rozmaitości dwuwymiarowych obowiązuje uogólniona (rozszerzona) reguła Eulera.

Uogólniona reguła Eulera

w - k + s = γ (c - t) = d c - liczba rozłącznych elementów składowych

t - liczba tuneli (w bryle) d - liczba dziur (w ścianach)

Opis bryły stanowią:

- przekrój bryły

- trajektoria, po której następuje przesunięcie przekroju

Woksel jest najmniejszym elementem przestrzeni analogicznym do piksela na płaszczyźnie (podstawowy element przestrzeni, trójwymiarowy odpowiednik piksela). Można zdefiniować obiekt wskazując, które woksele on zajmuje.

Taka reprezentacja jest dekompozycją na komórki, które tworzą regularną siatkę w przestrzeni. Podstawową cechą reprezentacji tego typu jest aproksymacja kształtu z zadana rozdzielczością. Struktura danych opisująca tak dekomponowaną bryłę będzie listą zajętych komórek. Podobny efekt można uzyskać strukturą hierarchiczną - drzewem ósemkowym wskazując w przestrzeni kolejne prostopadłościenne elementy będąca wielokrotnością woksela. W tym przypadku jednak struktura danych (drzewo ósemkowe) da efektywniejszy sposób zapisu (mniejszy koszt pamięciowy). Natomiast aproksymacja kształty z zadana rozdzielczością wokselową będzie identyczna.

Teselacja (ang. tessellation)- dzielenie wygenerowanych podczas tworzenia obrazu 3D wielokątów na mniejsze, dzięki czemu wyświetlany obiekt może być dokładniej narysowany. Podczas teselacji powstaje siatka wielokątów, która reprezentuje powierzchnię obiektu. Najczęściej obiekt dzielony jest na trójkąty (triangulacja) lub ich grupy.

Teoria fraktalna

Wiele obiektów naturalnych (rośliny, formy skalne, linia brzegowa, zbocza gór itp.) a także sztucznych (np. polimery) ma cechę samopodobieństwa. Obrazy tych obiektów są podobne bez względu na skalę w jakiej, są oglądane.

Często klasyfikuje się to pojęcie jako:

Samopodobieństwo dokładne - mówimy o nim wtedy, kiedy występuje wierna kopia powiększonego lub pomniejszonego fragmentu. Taką cechę mają fraktale IFS.

Quasi-samopodobieństwo - gdy występuje przybliżona kopia powiększonego lub pomniejszonego fragmentu. Charakterystyczne dla wielu fraktali definiowanych pewną zależnością rekurencyjną definiującą położenie punktów w przestrzeni.

Samopodobieństwo statystyczne - tę cechę mają fraktale losowe.

Fraktale stosuje się w grafice komputerowej do modelowania kształtu obiektów naturalnych wykazujących samopodobieństwo.

Fraktal to obiekt geometryczny, który:

- ma cechę amopodobieństwa

- jest definiowany rekurencyjnie

- najczęściej ma strukturę trudną do opisania w ramach geometrii euklidesowej (wzorem analitycznym)

- najczęściej ma wymiar nie będący liczbą całkowitą.

L-systemy zwane także L-układami służą, przede wszystkim, do opisu wzrostu roślin. Rekurencyjny system generacji w oparciu o aksjomat i regułę produkcji. Np. paprotka Barnsleya

Modelowanie wolumetryczne jest próbą rozwiązania problemu modelowania i wizualizacji zjawisk, które nie dają się opisać w prosty sposób klasycznymi metodami, a które to zjawiska związane są z objętościowym rozproszeniem światła. Efekt taki powstaje zazwyczaj na skutek istnienia pewnego dodatkowego czynnika zmieniającego warunki rozchodzenia się światła. Przykładem może być mgła, chmury, wydobywający się gaz lub para wodna.

Moduł 7 - Eliminacja powierzchni zasłoniętych

Problem eliminacji elementów zasłoniętych (zwany także problemem rozstrzygania widoczności lub problemem wyznaczania powierzchni widocznych) polega na określeniu, które fragmenty obiektów sceny mogą być widoczne przez wirtualną kamerę (przez obserwatora).

trzy sposoby rozwiązania problemu widoczności pokazują trzy sposoby wykorzystania informacji, pochodzących albo z przestrzeni obiektu (sceny), albo przestrzeni rzutu, albo z obu przestrzeni.

Bryły dowolne.

0x01 graphic

Algorytm malarski (algorytm sortowania ścian) należy do grupy algorytmów z listą priorytetów. Algorytmy te wykorzystują informacje zarówno z przestrzeni obiektu jak i z przestrzeni rzutu (łączą operacje z precyzją obiektową i operacje z precyzją obrazową).

0x01 graphic

Algorytm skaningowy (przeglądania liniami poziomymi) jest przykładem algorytmu pracującego w przestrzeni rzutu (działającego z precyzją obrazową). Zasada pracy tego algorytmu oparta jest na założeniu, że w każdym kroku postępowania przeglądana jest jedna linia pozioma obrazu.

Algorytm skaningowy rozwiązuje również problem zasłaniania cyklicznego.

Pomysł wykorzystania zorientowania ścian pochodzący z 1969 roku został zastosowany w latach 1980-1983 do budowy algorytmu rozstrzygania widoczności zwanego algorytmem drzewa binarnego podziału przestrzeni (ang. BSP tree).

Algorytm bufora głębokości (Z-bufora) został zaproponowany przez Catmulla w 1974 roku. Jest jednym z najprostszych w implementacji algorytmów rozstrzygania widoczności. Zakłada istnienie bufora o rozmiarze całego wyświetlanego obszaru (ekranu) - występuje w tym przypadku odpowiedniość pozycji piksela ekranu i odpowiadającej mu pozycji w buforze. Dla każdego piksela w buforze zapamiętywana jest odpowiadająca mu głębokość czyli współrzędna .

Algorytm bufora głębokości rozstrzyga widoczność dla dowolnych scen wielościennych, jest niewrażliwy na zasłanianie cykliczne ani przecinanie obiektów.

Algorytm ma tylko jedną wadą - potrzebuje pamięci o rozmiarze obrazu pozwalającej zapisać odległość dla każdego piksela (dzisiaj nie stanowi to już większego problemu)

Bufor Z (bufor głębokości) - wykorzystywany w systemach wyświetlających obrazy trójwymiarowe, przechowuje współrzędną Z (głębokość, odległość od obserwatora) dla każdego piksela obrazu.

Twórcy algorytmów rozstrzygania widoczności starali się zawsze obniżyć złożoność obliczeniową tych algorytmów. Wielokrotnie były przeprowadzane analizy złożoności algorytmów zasłaniania. Pokazują one, że nawet najtrudniejsze przypadki mogą zostać rozwiązane ze złożonością kwadratową. Z drugiej strony można się zastanawiać nad minimalną liczbą operacji, niezbędnych do rozwiązania problemu zasłaniania. W większości przypadków wyrafinowane algorytmy wyznaczają elementy zasłonięte ze złożonością O(nlogn), gdzie n jest miarą złożoności sceny (liczbą wielokątów lub krawędzi).

Dla algorytmów pracujących w przestrzeni rzutu (z precyzją obrazową) złożoność będzie liniowa.

Moduł 8 - Modelowanie oświetlenia

Kolejnym problemem wymagającym rozwiązania, jeśli chcemy osiągnąć realizm rysunku, jest problem oświetlenia. Każda powierzchnia reaguje w jej właściwy sposób na padające na nią światło. Barwy, faktury i inne właściwości przedmiotów postrzegamy dzięki temu, że przedmioty te są oświetlone (lub same emitują światło). Symulacja tych zjawisk pozwala oddać realny wygląd elementów wirtualnej sceny.

Można wyróżnić dwa niezależne przypadki: odbicie światła i przenikanie światła (dla materiałów przezroczystych). Oczywiście może zachodzić jeszcze pochłanianie, ale z punktu widzenia obserwatora jest to najmniej interesujący przypadek. Dla przypadku odbicia mówimy o odbiciu kierunkowym (lustrzanym) lub rozproszonym (dyfuzyjnym). W pierwszym przypadku padający promień odbija się pod kątem równym kątowi padania. W drugim przypadku odbicie może być widoczne pod dowolnym kątem. Analogiczna sytuacja może zajść dla przenikania światła.

0x01 graphic

Odbicie rzeczywiste od powierzchni materiału jest zjawiskiem złożonym. Można przyjąć rzeczywiste odbicie jako wypadkową 4 składowych (rysunek): rozproszonej, kierunkowej idealnej, kierunkowej rzeczywistej (ang. glossy - odbicia połysku), powrotnej. Analogiczne przypadki można wyróżnić rozpatrując załamanie promieni.

Anizotropia jest zjawiskiem polegającym na zależności właściwości fizycznych od charakterystycznych kierunków materiału.

Wiele powierzchni, zarówno naturalnych, jak i uzyskanych w wyniku technologicznej obróbki odbija światło w sposób anizotropowy, zależny od kierunku jego padania - w sposób zależny od usytuowania powierzchni względem źródła światła.

Najstarszy, z praktycznie wykorzystywanych w grafice komputerowej modeli odbicia, zaproponował Bui Tuong Phong w 1975 roku. Model Phonga jest modelem eksperymentalnym, nieuzasadnionym fizycznie i niespełniającym zasady zachowania energii. Mimo to jest, chyba, najczęściej stosowanym modelem odbicia w grafice komputerowej, gdyż pozwala szybko uzyskać rysunki o wystarczająco realistycznych barwach. 0x01 graphic

Strumień świetlny (całoprzestrzenny) danego źródła światła opisuje ilość energii przenoszonej przez fale świetlne w jednostce czasu. Strumień jest podstawową wielkością fotometryczną - odpowiednikiem mocy. Strumień świetlny charakteryzuje przede wszystkim źródło światła, chociaż mówimy również o strumieniu odbitym.

Światłość jest gęstością kątową strumienia świetlnego (jest ilorazem elementarnego strumienia świetlnego i kąta bryłowego). Jednostką światłości jest kandela - należąca do siedmiu podstawowych jednostek miar.

Luminancja L jest ilorazem światłości oraz pola powierzchni będącej rzutem obrazu na płaszczyznę prostopadłą do kierunku obserwacji. Odpowiada pojęciom jaskrawości (dla obiektów emitujących światło) i jasności (dla obiektów odbijających).

0x01 graphic

Funkcję BRDF f(L,V) definiuje się jako iloraz luminancji obserwowanej z kierunku -V , do natężenia napromieniowania światła padającego z kierunku -L .

Modele odbicia światła.

Model Phonga

Model Cooka-Torrance'a jest modelem uzasadnionym fizycznie, spełniającym zasadę wzajemności i zasadę zachowania energii. W modelu Cooka-Torrance'a założono, że powierzchnia materiału jest wielościanem złożonym z mikroelementów (mikroluster). Ich rozmiary i rozkład położeń decydują o chropowatości lub gładkości powierzchni.

Współczynnik Fresnela opisuje zależność odbicia światła od kąta padania i długości fali. Określa stosunek energii światła odbitego do energii światła padającego. Warto pamiętać, że kształt zależności kątowych tego współczynnika zależy od długości fali oraz polaryzacji światła.

Model Warda zaproponowany w 1992 roku uwzględniający anizotropię odbicia - równanie. Model Warda niestety nie uwzględnia współczynnika Fresnela.

Oren i Nayar opracowali model, w którym przybliżyli powierzchnię obiektu powierzchnią wielościenną. Założyli, że obiekt pokryty jest wgłębieniami typu V (podobnie jak w modelu Cooka-Torrance'a). Przy czy w modelu Orena i Nayara mikropowierzchnie nie są lustrzane ale rozpraszają w sposób lambertowski.

Model Ashikhmina I Shirleya jest współczesnym modelem odbicia.

Spełnia wszystkie podstawowe wymagania (zasada wzajemności, zasada zachowania energii, uwzględnia współczynnik Fresnela odbicia światła). Pozwala uwzględnić anizotropię odbicia. Został sformułowany w taki sposób, że może być wykorzystywany w dowolnych obliczeniach graficznych - także we wszystkich wariantach metody śledzenia promieni. (Model He nie może być wykorzystywany w algorytmach typu Monte Carlo.) Ma dodatkowo jeszcze jedną zaletę: jest modelem atrakcyjnym obliczeniowo.

Wyznaczenie barwy związanej z modelem oświetlenia dla każdego punktu/piksela jest zadaniem kosztownym. Można zatem rozpatrywać cieniowanie (interpolację) które pozwoli wypełnić barwą wielokąty w sposób uproszczony. Stosuje się trzy warianty takiego wypełnienia - trzy warianty cieniowania.

- Cieniowanie płaskie (cieniowanie stałą wartością), gdy cały wielokąt jest wypełniony taką samą barwą.

- Cieniowanie Gouroud.

- Cieniowanie Phonga.

Cieniowanie płaskie jest zgodne z rzeczywistością, gdy obserwator lub źródło światła znajduje się w nieskończoności. Może być także stosowane, gdy wielokąt reprezentuje rzeczywiście powierzchnię modelowaną - mamy wtedy do czynienia z rzeczywistą powierzchnią wielościenną. Jeżeli jednak złożony kształt powierzchni obiektu jest przybliżony wielościanem, to można za pomocą cieniowania wygładzić obiekt niwelując wielościenny charakter.

Cieniowanie Gouraud jest procesem dwuetapowym:

W pierwszym etapie wyznaczamy (hipotetyczną) barwę w wierzchołkach wielościanu. W tym celu wyznaczamy hipotetyczny wektor normalny jako średnią arytmetyczną wektorów normalnych wszystkich ścian, do których ten wierzchołek należy. Następnie na podstawie wektora normalnego wyznaczamy barwę wierzchołka korzystając z wybranego modelu odbicia światła. W drugim etapie dokonywana jest liniowa interpolacja barwy zgodnie z zaprezentowanymi wzorami.

Cieniowanie Phonga polega na analogicznej interpolacji, tylko że nie barwy ale wektora normalnego.

W pierwszym etapie wyznaczamy wektor normalny w wierzchołku w ten sam sposób jak w cieniowaniu Gouraud. W drugim etapie wyznaczamy interpolowany wektor normalny dla każdego piksela (to znaczy dla punktu powierzchni odpowiadającego pikselowi). Następnie wyznaczamy barwę piksela, na podstawie interpolowanego wektora normalnego korzystając z wybranego modelu odbicia światła.

Moduł 9 - Oświetlenie globalne

Modelowanie lokalnego odbicia (lub przenikania) światła nosi czasem nazwę problemu oświetlenia lokalnego. Uwzględnia bowiem tylko lokalne właściwości powierzchni. Problem oświetlenia globalnego jest natomiast opisem zależności związanych z rozchodzeniem się światła, ale uwzględniającym wzajemne oddziaływanie między powierzchniami - np. wielokrotne odbicie światła między różnymi przedmiotami.

Próby rozwiązania tego problemu na poziomie modelu odbicia lokalnego sprowadzały się do uwzględnienia średniej wartości oświetlenia we wszystkich punktach sceny - oświetlenia tła. W grafice komputerowej stosowane są dwie ogólne metody rozwiązania problemu oświetlenia globalnego:

- Metoda śledzenia promieni,

- Metoda bilansu energetycznego.

Dobrą klasyfikacją zachowania się algorytmów oświetlenia globalnego jest klasyfikacja pokazująca w jaki sposób są implementowane wzajemne odbicia między dwiema powierzchniami. Biorąc pod uwagę dwa rodzaje odbicia: rozproszone i kierunkowe, możemy mieć do czynienia z czterema możliwościami odbić wzajemnych.

Kierunkowe-kierunkowe - jest to implementowane przez klasyczną metodę śledzenia promieni (Whitteda). I praktycznie metoda klasyczna śledzenia nie pozwala na opis innych odbić wzajemnych.

Rozproszone-rozproszone - jest to implementowane przez klasyczną metodę energetyczną. Podobnie jak śledzenie, klasyczna metoda energetyczna nie pozwalana na implementację innych wariantów odbić.

Rozproszone-kierunkowe (także kierunkowe-rozproszone) - może być implementowane w nowszych rozwiązaniach metody śledzenia.

Typy wzajemnych odbić:

0x01 graphic

Metoda śledzenia promieni polega na analizie przebiegu promieni między obserwatorem a źródłem światła. Drogę promieni opisuje drzewo przecięć, którego węzły reprezentują zjawiska jakie zachodzą między promieniem a powierzchniami obiektów. Korzeń drzewa odpowiada promieniowi docierającemu do obserwatora zaś liście — źródłom światła. Zjawiska odbicia, przenikania i pochłaniania opisane są odpowiednimi modelami matematycznymi. Wyznaczenie barwy danego piksela polega na analizie odpowiedniego drzewa.

Istnieje kilka różnych wersji realizacji tego algorytmu:

- Śledzenie klasyczne (Whitteda)

- Śledzenie stochastyczne

- Śledzenie dwukierunkowe

- Mapowanie fotonowe (Jensena)

Bryła otaczająca.

Stwierdzenie czy promień przecina dany obiekt jest zadaniem trudnym. Zastosowanie odpowiedniej techniki wyboru promieni, które mają szansę na przecięcie, pozwala wyeliminować zbędne przypadki, dla których nie trzeba przeprowadzać długiej i kosztownej, pełnej analizy biegu promienia.

Techniki wyboru promieni można podzielić na dwie grupy: zastosowanie brył otaczających i podział przestrzeni. W pierwszym przypadku (bryły otaczające) zanim rozpocznie się wyznaczanie przecięcia promienia z powierzchnią obiektu, można spróbować wyznaczyć przecięcie z bryłą otaczającą obiekt. Jeśli promień nie przecina takiej bryły, to analiza przecięcia z obiektem nie jest konieczna. Oczywiście aby w takiej sytuacji można było mówić o przyspieszeniu obliczeń powinny być spełnione dwa warunki. Bryła powinna „ściśle” (ciasno) otaczać obiekt oraz wyznaczenie przecięcia promienia z bryłą powinno być wielokrotnie prostsze (i szybsze) niż przecięcia z obiektem. Często te warunki są sprzeczne. Najczęściej stosuje się kule, wielościany lub „pasy” równoległych płaszczyzn jako bryły otaczające.

Metoda energetyczna (ang. radiosity), rozwinęła się na bazie metody elementu skończonego (MES) oraz na doświadczeniach jej wykorzystywania w technice cieplnej do opisu emisji i odbicia promieniowania cieplnego. Realizacja metody energetycznej wymaga podziału wszystkich powierzchni w rozpatrywanym układzie optycznym na elementarne fragmenty, dla których bazując na zasadzie zachowania energii w zamkniętym środowisku tego fragmentu, można opisać równaniem transportu promieniowania. Przyjmuje się, że elementarne fragmenty mają skończone rozmiary, są płaskie i wszystkie podlegają tym samym regułom emisji, odbicia, przenikania lub absorpcji promieniowania. Przyjmuje się, że pojedynczy fragment odbija światło w sposób równomiernie rozproszony. Pomiędzy dowolną parą elementarnych fragmentów zachodzą zjawiska związane z transportem światła.

Metoda energetyczna umożliwia przeprowadzenie przede wszystkim analizy zjawisk rozproszonych. O wiele trudniejszym do opisu jest odbicie kierunkowo-rozproszone. Natomiast założenie odbicia rozproszonego przez elementarne fragmenty praktycznie wyklucza analizę odbić kierunkowych na scenie.

0x01 graphic

Cechą charakterystyczną metody energetycznej jest fakt, że w opisach transportu nie występuje obserwator (co tak naprawdę jest zgodne z rzeczywistością - światło rozchodzi się bez względu na to czy obserwator będzie brał w tym udział czy nie).

Metody hybrydowe - dodanie metody śledzenia promieni do metody energetycznej.

Moduł 10 - Dążenie do realizmu

0x01 graphic

Opis proceduralny pozwala generować tekstury za pomocą odpowiednio dobranych funkcji matematycznych lub zestawu parametrów dla wybranej klasy funkcji.

Tablicowanie (tablice parametrow tekstury - mapy → zdjęcia) parametrów tekstury daje gotowy zestaw wartości dla realizacji obrazowania. Stosując opis proceduralny można dostosować wybrany podzbiór dziedziny dla konkretnego rozwiązania.

Niezależny podział wyróżnia generowanie deterministyczne i stochastyczne. Deterministyczne, w którym istnieją reguły rozmieszczania wzorca tekstury na powierzchni materiału. Generowanie stochastyczne nie zapewnia informacji o ustalonej strukturze wzorca. Pozwala natomiast na tworzenie lokalnych zmian parametru (np. barwy) powierzchni wynikających z pewnego prawdopodobieństwa.

Parametryzacja w przestrzeni obiektu zakłada, że obiekty są generowane w swoich własnych układach współrzędnych. Odwzorowanie tekstury jest opisem przekształcenia układu współrzędnych obiektu na układ współrzędnych tekstury. Takie odwzorowanie jest nazywane przekształceniem prosty.

Modelowanie nierówności powierzchni jest przykładem tekstury dwuwymiarowej. Metoda ta (ang. bump mapping) została zaproponowana przez Blinna w 1978 roku. Pozwala uzyskiwać widok powierzchni o zmodyfikowanym kształcie bez modyfikowania samej geometrii powierzchni.

Mapowanie przesunięć służy do modelowania faktury, to znaczy modelowania lokalnych kształtów powierzchni obiektu. Zakładamy przy tym, że powierzchnia obiektu jest zdefiniowana innymi metodami. Dobrym przykładem może być tworzenie zmarszczek na powierzchni twarzy.

0x01 graphic

Deformacje w grafice komputerowej:

Warping (deformowanie) jest przykładem operacji deformacji kształtu stosowanej zarówno w odniesieniu do obiektu (modelu) jak i jego obrazu (rzutu). Odbywa się to przez nałożenie siatki na obraz (lub obiekt trójwymiarowy - siatki przestrzennej) i przekształcenie położenia węzłów siatki zgodnie z określoną funkcją. Klasycznymi efektami uzyskiwanymi tą metodą jest zmiana wyrazu twarzy na zdjęciu - uśmiech, przymknięcie oczu itp.

Deformowanie obrazów (warping) w celu uzyskania określonego kształtu (poprzez zmianę barw rysunku) wymaga precyzyjnej definicji co i w jaki sposób ma zostać odkształcone. Najczęściej jest to określane za pomocą siatki punktów kontrolnych (czworokątnej lub trójkątnej). Wykorzystywane są przekształcenia afiniczne (translacje, obroty, skalowanie) lub dowolne. Przekształcenie może dotyczyć samej geometrii obiektu lub też jego atrybutów (barwa, tekstura, właściwości odbijające itd.).

Morfing (przekształcanie)jest operacją pozwalającą wygenerować deformacje kształtu odpowiadające stanom pośrednim pomiędzy danymi obrazami.

Jeśli wskażemy odpowiadające sobie punkty na obu obrazach, to za pomocą liniowej interpolacji można wyznaczyć pośrednie położenie między tymi punktami. Oczywiście operacja taka może zostać wykonana także na węzłach (punktach kontrolnych) nałożonej siatki. Wtedy zawartość każdego oczka jest deformowana zgodnie z liniową interpolacją względem brzegu takiego oczka. Stosuje się siatki czworokątów i trójkątów. W ogólnym przypadku przekształcenia mogą być wykonywane na obiektach wielowymiarowych - operację opisuje wtedy zestaw transformacji.

Animacja

0x01 graphic

Wyróżnia się dwa rodzaje animacji.:

Metody animacji:

0x01 graphic

0x01 graphic

Gamut - zakres barw możliwy do odwzorowania przez dane urządzenie.

8



Wyszukiwarka

Podobne podstrony:
sprawdzian z acada5, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
sprawdzian z acada7, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
sprawdzian z acada4, studia Polibuda Informatyka, III semestr, grafika i komunikacja człowiek - kom
Sprawozdanie(2), WAT, semestr VI, Komunikacja człowiek-komputer
ĆWICZENIE NR 2, WAT, semestr VI, Komunikacja człowiek-komputer
Hubert Masiak KCK laborki 1 20, WAT, semestr VI, Komunikacja człowiek-komputer
sprawozdanie1(1), WAT, semestr VI, Komunikacja człowiek-komputer
SprKwiatkowskiKCK2, WAT, semestr VI, Komunikacja człowiek-komputer
Seminarium-KCK, Inżynierskie, Semestr V, Komunikacja człowiek-komputer
Rzeczywistość wirtualna, Inżynieria Oprogramowania - Informatyka, Semestr V, Komunikacja Człowiek Ko
Seminarium-KCK, Inżynierskie, Semestr V, Komunikacja człowiek-komputer
jarnicki,grafika komputerowa i komunikacja człowiek komputer P, Generowanie modelu góry z wykorzysta
Rozwój człowieka w cyklu życia, Wykłady semestr letni, rozwoj czlowieka
komunikacja człowiek komputer

więcej podobnych podstron