Co to jest grafika komputerowa, przetwarzanie obrazu i rozpoznawanie obrazu? Grafika komputerowa: tworzenie obrazów na podst. informacji opisowej - szerokie zastosowania - różna złożoność programów i nakładów obliczeniowych koniecznych do tworzenia obrazu (wykresy funkcji, kompozycje obrazów, sceny w symulatorach) Przetwarzanie obrazu: dane wejściowe i wyjściowe maja postać obrazów - usuwanie zakłóceń, poprawa jakości obrazu - filtrowanie obrazu - kompresja danych obrazowych - redukcja obrazu do konturów - redukcja obrazu konturowego do figur kreskowych - tworzenie przekrojów obrazu Rozpoznawanie obrazu: tworzenie opisu obrazu, zakwalifikowanie obrazu do pewnej szczególnej klasy - odwrotność grafiki komputerowej - w wyniku analizy obrazu powstaje opis matematyczny, ciąg symboli lub graf - dalsze przetwarzanie danych opisowych pozwala na wyciąganie wniosków analitycznych Standardy graficzne: GKS, PHIGS GKS (Graphical Kernel System) Standard określa zbiór funkcji niskiego poziomu dostępnych dla programów wykorzystujących grafikę 2D. Zapewnia funkcjonalny interfejs między programem użytkowym, a wejściowymi i wyjściowymi urządzeniami grafiki komputerowej. ok. 200 podprogramów do tworzenia obrazu z dostępnych prymitywów graficznych i przyjmowania danych z różnych urządzeń. prymitywy graficzne: łamana, markery, wypełniony obszar, tekst, tabela komórek atrybuty: rodzaj i szerokość linii, sposób wypełniania obszaru definicja 6 logicznych urządzeń do wprowadzania informacji: urządzenia do podawania współrzędnych punktu – lokalizator urządzenia do podawania współrzędnych ciągu punktów urządzenia do podawania wielkości skalarnej – waluator wskaźnik wyboru menu wskaźnik elementu obrazu urządzenia do wprowadzania tekstu standard umożliwia tworzenie obrazu obiektów, nie daje możliwości tworzenia modeli graficznych wykorzystywany do tworzenia wykresów i rysunków technicznych Standard GKS-3D uogólnienie standardu GKS na grafikę trójwymiarową wszystkie prymitywy standardu 2D uogólnione do trzech wymiarów dodatkowe funkcje(przekształcenia w przestrzeni 3D, operacje HLHSR) standard umożliwia tworzenie obrazu obiektów, nie daje możliwości tworzenia modeli graficznych PHIGS (Programmer’s Hierarhical Interactive Graphics System) Standard umożliwia konstruowanie modeli obiektów 2D o złożonej strukturze logicznej oraz tworzenie obrazów tych modeli. czynności definiowania modelu i wyświetlania są oddzielone możliwość interakcyjne edycji modelu poprzez modyfikację struktury lub poprzez zmianę sposobu obserwacji prymitywy graficzne: linie, markery, tekst, wypełniony obszar oraz związane z nimi atrybuty możliwość grupowania elementów składowych modelu możliwość budowania modeli o strukturze hierarchicznej (poszczególne elementy mogą być definiowane w różnych układach współrzędnych, a następnie przenoszone do wspólnego układu) różne sposoby obserwacji (określenie pkt. widzenia, rodzaju rzutu: perspektywiczny, ortogonalny) struktury definiujące model przechowywane w pliku Standard PHIGS+ to rozszerzenie standardu PHIGS: o nowe prymitywy i funkcje do modelowania krzywych i powierzchni 2D i 3D: siatki trójkątne i czworokątne krzywe i powierzchnie B-sklejane funkcje do definiowania źródeł światła: (światło otaczające, światło kierunkowe, światło pozycyjne, światło stożkowe) funkcje do realizacji cieniowania: (stała barwa wielokąta, metoda Gourauda, metoda Phonga, zmiana barwy w funkcji odległości (efekt głębi przestrzennej) Formy danych obrazowych 4 klasy danych obrazowych podział odnosi się do sposobu reprezentacji (opisu), nie do treści wizualnej różne metody i algorytmy przetwarzania dla każdej klasy KLASA I (obrazy monochromatyczne i kolorowe) dokładnie odzwierciedlają rzeczywistość reprezentowane jako macierze pamięci elementy obrazu (pixele) są komórkami macierzy różne struktury komórek macierzy, np. 1 bajt na element obrazu lub 1 bajt na każdy z 3 kolorów podstawowych (True Color) KLASA II (obrazy binarne) obrazy monochromatyczne – czarno białe (text) element obrazu opisywany przez 1 bit reprezentowane jako macierze pamięci lub mapy bitowe brak standardowego sposobu grupowania bitów w bajt a bajtów w słowo pamięci systemu graficznego KLASA III (linie proste i krzywe) Przykłady: kontury obszarów, wykresy, krzywe nieregularne Reprezentacja danych: współrzędne X i Y kolejnych punktów przyrosty ΔX i ΔY kody łańcuchowe, w których wektor łączący dwa kolejne punkty jest określony jednym symbolem ze skończonego zbioru symboli
przyrosty: ΔX {0, 1, 2, 3, 4} 4 bity/punkt przyrosty: ΔY {6, 7, 0, 1, 2} kod łańcuchowy: {0, 1, 2, 3, 4, 5, 6, 7} 3 bity/punkt różnicowy kod łańcuchowy – reprezentacją każdego punktu jest różnica pomiędzy dwoma kolejnymi kodami. Zbiór symboli jest również 8-elementowy {0, ±1, ±2, ±3, 4}. Lecz prawdopodobieństwo ich pojawienia się nie jest takie same. Można zatem użyć kodu o zmiennej długości Taki sposób kodowania wymaga średnio nie więcej niż dwóch bitów na punkt. Przykładowo: znak alfanumeryczny: 1.8 – 1.9 bita/punkt obiekt (śruba, szklanka): 1.5 – 1.9 bita/punkt
mały okrąg: 2.3 bita/punkt KLASA IV (Punkty i wieloboki) klasa najczęściej wykorzystywana w grafice komputerowej obraz reprezentowany jest przez współrzędne punktów i funkcje punkty charakterystyczne połączone są liniami prostymi lub krzywymi opisanymi przez funkcje różnorodność funkcji i metod opisujących kształt generowanych obiektów
w obrazie albo ich identyfikacji. Ujemnym skutkiem filtracji górnoprzepustowej jest wzmocnienie szumu w obrazie. Zastosowanie filtrów wyostrzających pozwala na osiągnięcie wyrazistości większej niż w oryginale. Filtry wyostrzające działają w ten sposób, że akcentują(wzmacniają) różnice pomiędzy sąsiadującymi ze sobą jasnymi i ciemnymi punktami. Ponieważ obszary, na których piksele jasne sąsiadują z ciemnymi, to „krawędzie”, zwiększenie różnicy tonalnej pomiędzy nimi wzmacnia wrażenie ostrości obrazu.
Przedstawić za pomocą algorytmu zasadę wyznaczania histogramu obrazu Histogram obrazu cyfrowego jest dyskretną funkcją przypisującą wartościom natężenia z całego zakresu dynamicznego wartość wynikającą ze zliczenia w obrazie pikseli o danym natężeniu. Histogram zawiera więc użyteczną informację o tym, jak jest wykorzystany zakres dynamiki natężeń. Jeśli pewna liczba skrajnych wartości nie jest wykorzystana to znaczy, że kontrast obrazu można zwiększyć. Z kolei jeśli jest wyraźnie dużo wartości odpowiadających maksymalnemu bądź minimalnemu natężeniu, to obraz jest przesycony (gubimy część szczegółów w jasnych lub ciemnych partiach obrazu). Oznaczenia: f(P) jest wartością elementu P w przedziale [0, L]; HR[256] jest tablicą histogramu dla składowej R HG[256] jest tablicą histogramu dla składowej G HB[256] jest tablicą histogramu dla składowej B
detekcja krawędzi Operatory Laplace’a wykrywają krawędzie we wszystkich kierunkach. Metody wykrywania krawędzi korzystające z Laplasjanów dają w efekcie ostrzejsze krawędzie niż większość innych metod. konturowanie obrazu Filtry używane do wykrywania krawędzi i tworzenia konturu obrazu są nazywane konturowymi. Filtry te są używane powszechnie w procesie segmentacji obrazu i rozpoznawania kształtów obiektów w obrazie. Działają one na zasadzie gradientowej. Gradient określa, jak w obrazie zmieniają się jasności pomiędzy sąsiednimi pikselami. Gradient osiąga największą wartość tam, gdzie w obrazie istnieją największe zmiany jasności przy przejściu od piksela do piksela. punktowa korekcja obrazu
Algorytm: Wstaw do tablic HR[Z], HG[Z], HB[Z] (0<=Z<=L) wartość zero. FOR wszystkie elementy P obrazu DO BEGIN Zwiększ HR(f(P)) o 1 Zwiększ HG(f(P)) o 1 Zwiększ HB(f(P)) o 1 END KONIEC
Segmentacja obrazu – umożliwia identyfikowanie obszarów obrazu, których wygląd jest dla obserwatora jednolity (barwa, nasycenie i jasność) i podział obrazu na te obszary. Przekształcenie z KLASY1 do KLASY2. Większość stosowanych w tym celu metod opiera się na analizie statystycznej przetwarzanych obrazów.
Przedstawić za pomocą algorytmu zasadę wyznaczania macierzy sąsiedztwa Macierz sąsiedztwa jest oszacowaniem prawdopodobieństwa p(P,Q,Z,Y) na pojedynczym obrazie przy założeniu, że p zależy jedynie od względnych pozycji P i Q. Oznaczamy taką macierz przez Cr(Z,Y), gdzie r oznacza powiązanie (np. położenie P w stosunku do Q: obok siebie, w jednej linii, bezpośrednio jedno pod drugim, na przekątnej itp.) między P i Q. FOR wszystkie powiązania r między parami elementów DO BEGIN Wyzeruj tablicę Cr(Z,Y) (0<=Z,Y<=L) FOR wszystkie elementy P obrazu DO BEGIN Niech Q oznacza element sąsiedni do P, zgodnie z powiązaniem r INC Cr(f(P),f(Q)) END END Koniec algorytmu Metoda poprawy jakości obrazu poprzez modelowanie histogramu - rozciąganie histogramu Operacji rozciągnięcia histogramu dokonuje się wówczas, gdy nie pokrywa on całego zakresu poziomów jasności - na histogramie nie występuj ą bardzo ciemne i bardzo jasne składowe. Rozciągnięcie histogramu polega na takiej konwersji poziomów jasności obrazu wejściowego, by rozkład poziomów jasności na histogramie obrazu wyjściowego obejmował wszystkie poziomy jasności. Operację tę można przeprowadzić odpowiednio dobierając jasność i kontrast obrazu. - normalizacja histogramu Zmienia zakres zmienności poziomów jasności obrazu wyjściowego. - wyrównanie histogramu Celem wyrównania histogramu obrazu jest uzyskanie możliwie równomiernego rozkładu poziomów jasności obrazu dla całego jego zakresu. Skutkiem wyrównania histogramu jest poprawa kontrastu obrazu. Wyrównanie histogramu pozwala na podkreślenie w obrazie tych szczegółów, które są mało widoczne z powodu niewielkiego kontrastu. Nie jest to metoda uniwersalna i w przypadku histogramów o określonym kształcie nie daje zadowalających rezultatów. Metoda poprawy jakości obrazu poprzez korekcję tonalną Korekcja tonalna jest przykładem operacji punktowej. W wyniku korekcji tonalnej wykonać można: rozjaśnienie obrazu przyciemnienie obrazu obniżenie kontrastu zwiększenie kontrastu - korekcja tonalna liniowa – krzywa odwzorowania tonów ma postać linii prostej (łamanej) nachylonej do osi poziomej pod pewnym kątem. Wadą korekcji liniowej jest możliwość obcięcia pikseli końcowych w obszarze cieni lub świateł. Przy rozjaśnianiu część jasnych pikseli staje się zupełnie biała (brak szczegółów w światłach obrazu), przy ściemnianiu znikają szczegóły w cieniach. - korekcja tonalna nieliniowa – jest wolna od wady, którą posiada korekcja tonalna liniowa Metoda poprawy jakości obrazu poprzez filtrowanie przestrzenne. Filtrowanie przestrzenne – w metodach filtrowania przestrzennego przetwarzaniu podlega bezpośrednio funkcja jasności (obraz jest reprezentowany jako macierz poziomów jasności). Funkcję działającą na obraz wejściowy można opisać wyrażeniem: g(x, y) = T[f(x, y)] gdzie: f(x, y) – funkcja reprezentująca obraz wejściowy; g(x, y) – funkcja reprezentująca obraz przetworzony; T – operator lokalny działający ba określonym obszarze obrazu np.: (3x3, 5x5 lub 7x7 pikseli) Wartość jasności piksela obrazu wyjściowego obliczana jest na podstawie jasności pikseli obrazu wejściowego leżących w bezpośrednim sąsiedztwie danego piksela. W metodach tych definiowana jest maska, która przemieszcza się w obrębie obrazu z krokiem równym odstępowi między pikselami i zgodnie z definicją operatora T wyznaczana jest nowa wartość g(x, y) dla każdego piksela obrazu. rozmywanie obrazu – filtr rozmywający (dolnoprzepustowy) stosowany jest głównie w celu ukrycia drobnych zniekształceń lub redukowania szumów, powstałych np. w wyniku skanowania obrazów rastrowych (efekt mory). Filtr rozmywający nazywany jest często filtrem dolnoprzepustowym ponieważ przepuszcza elementy obrazu o małej zmienności (częstotliwości), tłumi natomiast albo blokuje elementy o większych częstotliwościach (szumy). Realizowany jest przez obliczanie nowej wartości poziomu jasności piksela jako uśrednienie ważone poziomów pikseli jego otoczenia wyostrzanie obrazu – filtr wyostrzający (górnoprzepustowy) jest używany do wzmocnienia szczegółów obrazu o dużej zmienności. Wykorzystywane są do zaakcentowania obiektów
Co to jest segmentacja obrazu? Omówić metody segmentacji obrazu
Metody segmentacji: Progowanie – wartości jasności każdego elementu obrazu są porównywane z wartością progową, następnie element jest przydzielany do jednej z dwóch kategorii o wartości progowej przekroczonej lub nieprzekroczonej. Wybór wartości progowej dokonuje się na podstawie histogramu Wykrywanie krawędzi – wyszukiwane są krawędzie między obszarami, w tym celu wykorzystywany jest operator gradientu, a następnie na gradiencie jest wykonywana operacja progowania. Następnie elementy obrazu, które zostały zidentyfikowane jako krawędzie, muszą być połączone dla uformowania krzywej zamkniętej otaczającej obszary Δf ( x) Gx = Δl ( x) Rozrost obszaru – metody wykrywania krawędzi i progowania zajmują się różnicami między wartościami elementów obrazu, natomiast w metodzie rozrostu obszaru poszukuje się grup elementów o zbliżonej jasności. Najprostsza postać tej metody to rozpoczęcie od jednego elementu i sprawdzanie czy elementy sąsiednie mają podobną jasność. Jeśli tak, są one grupowane w obszar. W ten sposób powstają obszary, które rozrastają się z pojedynczych elementów obrazu. W bardziej złożonej postaci tej metody działanie rozpoczyna się nie od pojedynczych elementów, ale od podziału obrazu na zbiór małych obszarów. Następnie dla każdego obszaru stosuje się test jednolitości i w razie negatywnego wyniku obszar jest ponownie dzielony na mniejsze elementy. Proces ten jest powtarzany tak długo, aż wszystkie obszary są jednolite. Przedstawić za pomocą algorytmu zasadę wyświetlania obrazu w urządzeniach realizujących grafikę wektorową. - urządzenia realizujące grafikę wektorową tworzą obrazy klasy 3 i 4 - rozkazy elementarne: ρ(x, y) – ustaw plamkę świetlną w punkcie (x, y) s(z) – ustaw jasność zgodnie z wartością z - sekwencja rozkazów odpowiada wyświetleniu obiektu - program sterujący wyświetleniem obrazu: START: S1...Sn – sekwencje rozkazów S1 : Sn IF brak przerwania THEN GOTO START ELSE zmień sekwencję GOTO START END Aby zmodyfikować obraz należy zmienić odpowiednią sekwencję. Zmiana obrazu może być sygnalizowana poprzez przerwanie. Za każdą pętlą odnawiany jest ekran. Częstotliwość odnawiania jest odwrotnie proporcjonalna do długości pętli. Jeśli czas ten jest dłuższy od czasu fluorescencji ekranu to następuje migotanie i rozmycie ekranu. Stąd istnieje górna granica długości pętli, a tym samym złożoności obrazu.
1. Horizontal Line Rate HFreq [kHz] 2. Horizontal Synchronization Width HSync [μs] 3. Horizontal Back HBack [μs] 4. Horizontal Front HFront [μs] HBack i HFront określają szerokość aktywnej części zobrazowania, czyli lewego i prawego marginesu. HBlank czas wygaszania. HSync czas trwania wysokiego sygnału w jednym okresie. HFreq częstotliwość sygnału odpowiedzialnego za rysowanie wierszy (1 impuls to 1 wiersz). Synchronizacja pionowa 1. Horizontal Line Rate VFreq [Hz] 2. Vertical Synchronization Width VSync [ms] 3. Vertical Back VBack [ms] 4. Vertical Front VFront [ms] VBack i VFront określaja szerokość górnego i dolnego marginesu. VBlank czas wygaszania. VSync czas trwania wysokiego sygnału w jednym okresie. VFreq częstotliwość sygnału odpowiedzialnego za rysowanie pojedynczych ekranów. . Standardy elektryczne przesyłania sygnałów synchronizacji SEPARATE SYNC. (Sygnały HSync i VSync przesyłane oddzielnymi kablami. Poziomy elektryczne zgodnie ze standardem TTL.)
COMPOSITE SYNC. (Sygnały HSync i VSync przesyłane pojedynczą linią jako suma logiczna. Poziomy logiczne zgodne ze standardem TTL. Dłuższy czas działania w celu detekcji wartości poszczególnych sygnałów synchronizujących)
COMPOSITE SYNC & VIDEO (SYNC. ON GREEN) (Analogowe przesyłanie sygnału wizji. Sygnał jest mniej podatny na zakłócenia. Poziomy logiczne analogowe.)
Przedstawić za pomocą algorytmu zasadę wyświetlania obrazu w urządzeniach realizujących grafikę rastrową - urządzenia realizujące grafikę rastrową tworzą obrazy klasy 1 i 2, mogą również symulować grafikę wektorową - urządzenia posiadają dużą pamięć obrazu z jedną komórką dla każdego adresowanego punktu ekranu - parametry punktów ekranu są przechowywane w pamięci - operacje elemetarne: read (I, x, y, z) – czytaj komórkę pamięci I oraz określ z na podstawie zawartości I (x i y są określone adresem I) write (x, y, z) – pisz na ekranie w punkcie o współrzędnych (x, y) wartość luminescencji określoną przez z - główna pętla wyświetlania: START: FOR I= 1 TO liczba punktów ekranu DO BEGIN read (I, x, y, z) write (x, y, z) END; GOTO START END. - częstotliwość odczytu pamięci: 30- 90 Hz (synchronizacja typu V- czas generacji całego obrazu) - synchronizacja pionowa (V) i pozioma (H- czas generacji pojedynczej linii w obrazie) - pamięć graficzna (kilka lub kilkanaście pamięci ekranu, na których możemy prowadzić operacje za pomocą stronicowania) - stronicowanie - buforowanie - okienkowanie (w ramach pamięci ekranu możemy wprowadzać informacje o okienkach w różnych miejscach ekranu) - atrybuty związane z oknem - rozkazy graficzne realizowane sprzętowo 12. Narysować przebiegi czasowe sygnałów synchronizacji HSYNC i VSYNC. Zaznaczyć odcinki czasowe związane z generacją linii i pixeli. Synchronizacja pozioma
14. Wyznaczyć szerokość pasma video (VBW) karty graficznej generującej obraz o rozdzielczości 1240x1024 w trybie kolejnoliniowym z częstotliwością odświeżania obrazu 60 Hz. Czasy wygaszania są równe: HBlank-1 us i VBlank=0.667 ms
1/Active =1/VFreq- VBlank=1/60Hz-0,667ms=16,667-0,667=16.0ms HFreq=L/(VActive)= 1024/16=64kHz HVideo=1/HFreq-HBlank=15.62µs -1µs=14.62µs VBW=K/(HVideo)=1280/14.62µs=87,55 MHz 15. Wyznaczyć częstotliwość synchronizacji poziomej HSync karty graficznej generującej obraz o rozdzielczości 1280x1024 w trybie kolejnoliniowym z częstotliwością odświeżania obrazu 60 Hz. Czasy wygaszania są równe: HBlank=1 us i VBlank=0.667 ms HFront = HBack = 10%– 20% HBlank HFront = HBack = 0,1 HBlank – 2 x 0,1 = HSync = 0,8 µs HFront = HBack = 0,2 HBlank – 2 x 0,2 = HSync = 0,6 µs Wartość HSync mieści się w przedziale 0,6 µs do 0,8 µs 16. Porównać zasadę działania projektorów CRT, LCD i DLP CRT Odtwarzają obraz przy pomocy lamp elektronopromieniowych. Każda z tych lamp wyświetla obraz w jednym z trzech kolorów podstawowych: czerwonym, zielonym i niebieskim. Na ekranie, połączone strumienie światła tworzą kolorowy obraz o bardzo wysokim kontraście. Wadą tych projektorów jest ich duża waga (35-80kg), oraz bardzo duże trudności w dostrajaniu, które może być wykonane wyłącznie przez doświadczonego fachowca. Światło z każdej lampy ogniskowane jest dzięki trzem układom podwójnych soczewek w tym samym miejscu. Piksel w kolorze białym uzyskuje się więc poprzez skupienie wszystkich trzech składowych w tym samym miejscu na ekranie. Działo katodowe w kineskopie wyrzuca elektrony, które, odchylone w polu elektromagnetycznym, bombardują fosforyzujące plamki zawierające triady barw. Tor lotu elektronów jest zaburzany przez cewki elektromagnetyczne, które odchylają go pod odpowiednim kątem w lewo, w prawo, w górę lub w dół tak, aby strumień elektronów uderzał w odpowiednie miejsce na ekranie. Cewki odchylające, zbudowane z pasm materiału elektromagnetycznego ułożonych w odpowiedni wzór, pod wpływem sygnału elektrycznego o odpowiednim przebiegu czasowym kierują początkowo strumień elektronów od lewego górnego rogu ekranu poziomo do prawego końca pierwszego wiersza. Potem następuje wygaszenie strumienia i wiązka (w danej chwili nieobecna) wraca do lewego końca, ale o jeden rząd plamek niżej, skąd znów jest przenoszona do prawego końca. W ten sposób omiatany jest cały ekran z lewej na prawą stronę i z góry na dół. Kiedy wiązka znajdzie się w prawym dolnym rogu, znów następuje wygaszenie i powrót do lewego górnego rogu ekranu. Operacja jest powtarzana tyle razy w ciągu sekundy, aby oko ludzkie widziało stabilny obraz. LCD Wyświetlają obraz w oparciu o matryce ciekłokrystaliczne, przez które przechodzi strumień światła z żarówki. Obecnie stosuje się w tego typu urządzeniach wyłącznie matryce aktywne, przy czym może to być jedna matryca TFT bądź trzy matryce polisilikonowe. Najistotniejszą różnicą pomiędzy projektorami jedno- i trzy- matrycowymi jest mniejsza jasność i kontrast projektorów jedno-matrycowych. Także panele używane w projektorach jedno-matrycowych są większe, co powoduje zwiększenie objętości samego projektora. Każda matryca w projektorze trój-matrycowym odpowiedzialna jest za tworzenie jednego z trzech kolorów podstawowych: czerwonego, zielonego lub niebieskiego. Światło przechodzi przez wzbudzone na każdej z matryc kolorowe punkty zwane pikselami. Podświetlenie trzech nakładających się na siebie pikseli dwóch lub trzech kolorów podstawowych daje nam możliwość uzyskania bardzo szerokiej gamy barw. Uzyskanie doskonałego obrazu możliwe jest dzięki zastosowaniu skomplikowanego układu optycznego złożonego z szeregu pryzmatów i soczewek. DLP Światło z lampy jest rozszczepiane na trzy składowe R, G i B za pomocą wirującej z częstotliwością 60 Hz tarczy z filtrami R, G i B (180 wiązek światła na sekundę). Tak powstałe wiązki kierowane są na układ DMD (Digital Micromirrors Device), który składa się z bardzo dużej ilości ruchomych mikro-lusterek (na każdy piksel obrazu przypada 1 lusterko). Aby uzyskać różne nasycenie danej składowej, część padającego światła jest odbijana w stronę obiektywu, a część rozpraszana zgodnie z wartością odpowiedniej składowej koloru piksela. Odbite światło przechodzi następnie przez układ optyczny. Obraz końcowy jest syntetyzowany przez nakładanie na przemian obrazów odpowiedzialnych za każda ze składowych R, G i B. Układ DMD przetwarza sygnał wizyjny wysyłany z komputera i wykorzystuje go do sterowania kilkuset tysięcy mikroskopijnych luster (po jednym na każdy piksel). Lusterka o wymiarach 16x16 mikrona mogą dowolnie zmieniać swoje położenie o 12 stopni we wszystkich kierunkach. Odbijając światło w różne strony, tworzą matryce obrazu o zadanym nasyceniu koloru. Odstępy miedzy lusterkami nie przekraczają mikrona, tworząc praktycznie jednolita powierzchnie odbijającą światło. Dlatego też projektory DLP wyświetlają obraz o bardzo dużym kontraście - nawet powyżej 2000:1 - pozbawiony jakichkolwiek widocznych łączeń lub przerw miedzy pikselami. 17. Algorytm Bresenhama kreślenia odcinka Rysowanie odcinka metoda Bresenhama opiera się na zmiennej decyzyjnej, której znak decyduje o kolejnym kroku algorytmu. Zmienna określa kierunek poziomy, pionowy lub idealnie skośny rysowania kolejnego piksela odcinka. Algorytm działa na liczbach całkowitych. Założenia: - odcinek określony przez współrzędne początku i końca (x0 ,y0) i (xk ,yk); - x0 < xk ; - współczynnik kierunkowy odcinka spełnia nierówność: 0
Zgodnie z przyjętymi założeniami możemy napisać algorytm Bresenhama wyboru zbioru pikseli obrazujących odcinek (x0, x0) (xk, yk). Begin dx:= xk - x0; dy:= yk - y0; d0:= 2*dy – dx; (* wartosc poczatkowa zmiennej decyzyjnej *) Putpixel(x0, y0, kolor);
for i:= 0 to k-1 do Begin xi+1:= xi + 1; if di 0 then (* ruch diagonalny – wybór T *) begin di+1:= di + 2*dy – 2*dx; yi+1:= yi + 1; end else (* ruch poziomy – wybór S *) begin di+1:= di + 2*dy; yi+1:= yi ; end; Putpixel(xi+1, yi+1, kolor); end; End 18. Algorytm Bresenhama kreślenia okręgu Założenia: - promień okręgu R jest liczba naturalna, a jego środek leży w początku układu współrzędnych; - ośmiokierunkowy wybór piksela; - ze względu na symetrie okręgu ograniczymy wyznaczanie piksela tylko do 1/4 okręgu (dla a = 1 wystarczy rozważenie 1/8 okręgu). Zgodnie z przyjętymi założeniami możemy napisach algorytm Bresenhama wyboru zbioru pikseli obrazujących 1/4 okregu o promieniu R i środku w początku układu współrzędnych na urządzeniu rastrowym o aspekcie a=p/q, gdzie: R, p, q – liczby naturalne. Begin x :=0; (* wartosci poczatkowe*) y:=R; fx:= p*p*x; fy:= q*q*y; fs:=p*p-q*q*R+0.25*q*q; (* wartosc poczatkowa zmiennej decyzyjnej *) while fx < fy do (* wycinek 1 - p x q y 2 2 *) begin Putpixel(x, y, kolor); x:=x+1; fx:=fx+2*p*p; if fs 0 then fs:=fs+fx+2*p*p else (* wybór punktu A *) begin y:=y-1; (* wybór punktu B *) fy:=fy-2*q*q; fs:=fs+fx+p*p-fy; end;end; fs:=fs-(fx-fy)/2+3*(pp-qq); (* wartosc fs dla pierwszego punktu wycinka 2 *) while y 0 do (* wycinek 2 - p x q y 2 2 *) begin Putpixel(x, y, kolor); y:=y-1; fy:=fy-2*q*q; if fs 0 then begin x:=x+1; (* wybór punktu B *) fx:=fx-2*p*p; fs:=fs+fx-fy+2*q*q; end else fs:=fs-fx+q*q; (* wybór punktu C *) end; End. Algorytm wypełniania obszarów przez sianie Założenia: - wnętrze obszaru jest zbiorem czterospójnym, a ograniczający je brzeg zbiorem osmiospójnym; - brzeg obszaru jest narysowany kolorem cb; - wnętrze obszaru wypełniamy kolorem cn - możliwe występowanie dziur wewnątrz obszaru: będą nimi obszary ograniczone osmiospójnymi brzegami pikseli w kolorze cb, w szczególnym przypadku mogą to być pojedyncze piksele w tym kolorze; - znamy położenie ziarna (ang. seed), czyli piksela lezącego wewnątrz obszaru. Od tego piksela rozpoczynamy działanie algorytmu wypełniania. Piksel wypełniamy nowym kolorem i następnie sprawdzamy w czterech kierunkach czy piksele należą do wnętrza obszaru i czy nie zostały jeszcze wypełnione nowym kolorem. - x,y – współrzedne piksela; - color – kolor sprawdzanego piksela; - cb – kolor brzegu obszaru; - cn – kolor wypełniania obszaru. procedure fill4(integer: x, y, cb, cn) begin getpixel(x, y, color); if (color cb) and (color cn) then begin putpixel(x, y, cn); fill4(x, y-1, cb, cn); fill4(x, y+1, cb, cn); fill4(x-1, y, cb, cn); fill4(x+1, y, cb, cn); end; end. Algorytm wypełniania wielokątów Założenie: - obszar jest określony analitycznie jako trapez, o podstawach równoległych do osi x; - płaszczyzna rysunku opisana będzie współrzędnymi pikselowymi; - wierzchołki trapezu maja współrzędne rzeczywiste, nie pokrywające się ze środkami pikseli, tak jak na rysunku; ymin = Int(y1); ymax = Int(y3); Int(r) - zaokrąglenie liczby rzeczywistej r do najbliższej liczby całkowitej. Wyznaczamy współczynniki kierunkowe nachylenia boków trapezu: cl = (x4-x1)/(y4-y1); cp = (x3-x2)/(y3-y2); Przy tych założeniach algorytm wypełniania trapezu jest następujący: start: dla y = ymin, ymin+1, ..., ymax wykonaj: 1). wyznacz przeciecia xl i xp linii poziomej y z prostymi: x = x1 + (y-y1)cl i x = x2 + (y-y2)cp; 2). wypełnij nowym kolorem (wzorcem) piksele leżące na tej linii od Int(xl) do Int(xp); end. Można zauważyć, że: - dla y = y1 = y2 jest xl = x1, xp = x2; - miedzy punktami przeciec xl i xp z linia pozioma y i punktami przeciec xl' i xp' z kolejna linia pozioma y + 1 zachodzą zależności: xl' = xl + cl i xp' = xp+ cp Jeśli wykorzystamy te zależności to algorytm uprości się do postaci: start: xl := x1; xp := x2; dla y = ymin, ymin+1, ..., ymax wykonaj: 1). wypełnij nowym kolorem (wzorcem) piksele lezące na linii y od Int(xl) do Int(xp); 2). xl := xl + cl ; xp := xp+ cp;
end. Uwaga: zadanie wypełniania dowolnego wielokąta można sprowadzić do omówionego powyżej przypadku szczególnego. Modelowanie powierzchni metodą Coonsa W metodach interpolacyjnych linie i powierzchnie przechodzą przez definiujące punkty, dlatego też mogą powstawać niepożądane załamania. Interpolacja Coonsa: Metoda ta zakłada, że dane są cztery odpowiednio przecinające się krzywe definiujące brzeg wycinka powierzchni. Niech wycinek powierzchni S(u,v) będzie znormalizowany do kwadratu jednostkowego,
0 ≤ u ≤ 1i 0 ≤ v ≤ 1.
Krzywe brzegowe można wówczas przedstawić jako P(u,0), P(u,1), P(0,v) i P(1,v). Wycinek powierzchni Coonsa buduje się interpolując jej przeciwległe brzegi. Modelowanie krzywych i powierzchni za pomocą funkcji Beziera Krzywe Beziera definiujemy przez łamaną kontrolną o N+1 wierzchołkach P0, P1,…, PN. Początkowy i końcowy punkt leżący na krzywej pokrywa się z pierwszym i ostatnim punktem kontrolnym. Krzywe Beziera są styczne do łamanej kontrolnej w punkcie początkowym i końcowym. Umożliwia to łączenie ze sobą krzywych i powierzchni Beziera z 1 zachowaniem ciągłości klasy C połączenia. Powierzchnia Beziera jest powierzchnią parametryczną S(u, v) wyznaczoną na podstawie siatki punktów kontrolnych, zwanej grafem kontrolnym określonej wg. odpowiedniego wzoru. Powierzchnia Beziera jest iloczynem tensorowym krzywych Beziera krzywych większość własności krzywych Beziera przenosi się również na powierzchnie. Właściwości krzywych i powierzchni Beziera: - nie przechodzą przez wszystkie punkty kontrolne - krzywe pozostają w wypukłej części łamanej kontrolnej, a powierzchnie leżą w powłoce wypukłej grafu kontrolnego - nie umożliwiają lokalnej kontroli kształtu. Punkty kontrolne mają wpływ nie tylko na punkty leżące w najbliższym otoczeniu, lecz także na punkty na całej długości krzywej lub powierzchni. Przesunięcie dowolnego punktu kontrolnego powoduje zmianę położenia wszystkich punktów tworzących krzywą lub powierzchnię - dla N punktów kontrolnych generowana jest krzywa stopnia N-1. Wpływa to na złożoność obliczeniową algorytmów realizujących operacje na krzywych i powierzchniach 23. Modelowanie krzywych i powierzchni za pomocą funkcji B-sklejanych Znana jest łamana kontrolna o N+1 wierzchołkach i określone są węzły ti. Funkcja bazowa Ni,k(t) jest wielomianem stopnia k-2 k-1, który zapewnia ciągłość klasy C na całej długości definiowanej krzywej. Wartość krzywej zależy od położenia węzłów ti i ti+k. modyfikacja punktu kontrolnego zmienia lokalnie kształt krzywej. Kształt krzywej może być modyfikowany poprzez wielokrotne zdefiniowanie tego samego punktu kontrolnego. Stopień k funkcji bazowej wpływa na odległość krzywej od punktów definiujących. Powierzchnia B-sklejana definiowana jest iloczynem tensorowym krzywych B-sklejanych. Właściwości krzywych i powierzchni B-sklejanych: - definiowane są na podstawie łamanych lub grafów kontrolnych - umożliwiają lokalną kontrolę kształtu tworzonej krzywej lub powierzchni k-1 - stopień k funkcji bazowej zapewnia ciągłość klasy C na całej długości definiowanej krzywej - gładkość powierzchni jest kontrolowana przez stopień k i l funkcji bazowych - stopień funkcji bazowych nie zależ od liczby punktów kontrolnych 24. Modelowanie krzywych i powierzchni za pomocą funkcji β-sklejanych Właściwości krzywych i powierzchni β-sklejanych: - mogą być wykorzystywane w interakcyjnych systemach graficznych, w których wymagana jest dokładana kontrola kształtu generowanych obiektów - kontrola kształtu oraz transformacje mogą być dokonywane lokalnie - parametry β 1 i β2 mogą być przedstawione w formacie funkcji, co umożliwia ciągłą kontrolę kształtu - stopień bazowych funkcji β-sklejanych jest stały (3 dla krzywych i 6 dla powierzchni) - nie przechodzą przez punkty kontrolne, nawet przez punkt początkowy i końcowy. Dla zapewnienia przejścia przez określony punkt kontrolny należy do łamanej kontrolnej lub grafu dołożyć dodatkowy punkt Parametr β 1 wpływa na symetrię krzywej, natomiast β 2 kontroluje stopień przylegania krzywej do łamanej kontrolnej. Jeżeli β1=1 i β2=0 to funkcje bazowe β-sklejane redukują się do funkcji bazowych B-sklejanych 3-go stopnia. 25. Które z wymienionych funkcji (Beziera, B-sklejane, βsklejane) umożliwiają lokalną kontrolę kształtu? Funkcje Beziera nie umożliwiają lokalnej kontroli kształtu. Punkty kontrolne mają wpływ nie tylko na punkty leżące w najbliższym otoczeniu, lecz także na punkty na całej długości krzywej lub powierzchni. Przesunięcie dowolnego punktu kontrolnego powoduje zmianę położenia wszystkich punktów tworzących krzywą lub powierzchnię. Natomiast funkcje Bsklejane i β-sklejane umożliwiają lokalną kontrolę kształtu tworzonej krzywej lub powierzchni. W przypadku funkcji Bsklejanych kształt krzywej może być modyfikowany poprzez wielokrotne zdefiniowanie tego samego punktu kontrolnego. Funkcja β-sklejana posiada dwa parametry umożliwiające lokalną kontrolę kształtu. Parametr β 1 wpływa na symetrię krzywej, natomiast β 2 kontroluje stopień przylegania krzywej do łamanej kontrolnej. Parametry β 1 i β2 mogą być przedstawione w formie funkcji, co umożliwia ciągłą kontrolę kształtu. 26. W których z wymienionych funkcji (Beziera, Bsklejane, ß-sklejane) ich stopień zależy od liczby punktów kontrolnych? Jedynie w przypadku funkcji Beziera ich stopień zależy od liczby punktów kontrolnych. Dla N punktów kontrolnych generowana jest krzywa stopnia N-1. Stopień funkcji Bsklejanych wpływa natomiast na odległość krzywej od punktów definiujących. Stopień bazowych funkcji ßsklejanych jest stały (3 dla krzywych i 6 dla powierzchni). 27. Za co odpowiadają parametry ß1 i ß2 w funkcjach ß sklejanych? Funkcja β-sklejana posiada dwa parametry umożliwiające lokalną kontrolę kształtu. Parametr β 1 wpływa na symetrię krzywej, natomiast β 2 kontroluje stopień przylegania krzywej do łamanej kontrolnej. Parametry β 1 i β2 mogą być przedstawione w formie funkcji, co umożliwia ciągłą kontrolę kształtu. Jeżeli: - β 1=1 krzywa jest symetryczna
-β -
1
= V,V >1
β1 =
krzywa jest przechylona w lewo
krzywa jest przechylona w prawo 1 ,V >1 V
- β 2=0 krzywa jest normalnie napięta - β 2>0 krzywa zbliża się do łamanej kontrolnej 28. Metoda modelowania brył za pomocą drzew ósemkowych Jest to uogólnienie koncepcji opisu obszarów dwuwymiarowych za pomocą drzew czwórkowych na przypadek trójwymiarowy. W metodzie tej obiekt przestrzenny wpisujemy w sześcian, któremu odpowiada korzeń drzewa ósemkowego. Sześcian dzielimy na osiem mniejszych zwanych oktanami. Jeżeli oktant leży całkowicie wewnątrz bryły, to odpowiadającemu mu węzłowi nadajemy wartość „FULL”. Gdy cały oktant położony jest na zewnątrz bryły, to odpowiadającemu mu węzłowi nadajemy wartość „EMPTY”. Oktanty niejednorodne, tylko częściowo zawarte w bryle, dzielimy dalej na mniejsze, aż do uzyskania wszystkich oktanów jednorodnych lub mniejszych, równych ustalonej minimalnej wielkości. 29. Metoda modelowania brył CSG Metoda budowy brył z ustalonych podstawowych elementów przestrzennych (prymitywów). Zdefiniowane operacje wykonywane na elementach podstawowych to dodawanie, odejmowanie i iloczyn. Elementem podstawowym może być dowolny wycinek przestrzeni, czyli zbiór punktów przestrzenie spełniający nierówność
f ( x, y, z ) ≥ 0 . Dowolną
bryłę opisuje się drzewem, którego liśćmi są prymitywy przestrzenne, a węzły wewnętrzne odpowiadają działaniom na tych prymitywach (dodawanie, odejmowanie, iloczyn) lub transformacjom (obrót, przesunięcie, skalowanie). 30. Metoda modelowania brył poprzez zakreślanie przestrzeni Generacja bryły następuje w wyniku przemieszczania jej przekroju (płaskiej figury) wzdłuż pewnej trajektorii. Najprostszymi przykładami takiego postępowania jest przesunięcie równoległe i obrót wokół osi. W ogólnym przypadku tworzenia bryły obrotowej parametry związane z tą metodą mogą się zmieniać: - zmiana położenia punktów wyznaczających oś obrotu - figura zakreślająca przestrzeń może być przesuwana w dowolnym kierunku - figura zakreślająca przestrzeń może być skalowana - kształt figury zakreślającej może zmieniać się podczas obrotu 31. Przekształcenia geometryczne w przestrzeni 2D Translacja Skalowanie Obrót:
32. Przekształcenia geometryczne w przestrzeni 2D Przekształcenia geometryczne w przestrzeni 2D i 3D odnoszą się do modyfikacji następujących atrybutów obiektu (lokalizacja, orientacja, rozmiar). Przekształcenia: Translacja – zmiana lokalizacji – przesunięcie o wektor Obrót – rotacja – zmiana orientacji Skalowanie – zmiana rozmiaru Przekształcenia te zwane są transformacjami punktowymi, ponieważ realizowane są na każdym punkcie obiektu. Translacja P’ = P + T =
Obrót o kąt wokół jednej osi: x: P’ = P(PXSX, PYSY, PZSZ) 33. Co to są współrzędne jednorodne, dlaczego zostały wprowadzone? Za pomocą współrzędnych jednorodnych definiowana jest przestrzeń czterowymiarowa (4D), w której każdy punkt jest określony, jako: <x, y, z, 1>. Odwrotnie dowolny punkt w przestrzeni 4D o współrzędnych: <x, y, z, w> odpowiada punktowi o współrzędnych: <x/w, y/w, z/w> w przestrzeni trójwymiarowej 3D. Translacja, skalowanie i obrót są teraz definiowane za pomocą macierzy o wymiarach 4×4. Dzięki takiemu podejściu nie wykonuje się operacji dodawania macierz przy operacji translacji, a operację mnożenia macierzy tak jak w przypadku skalowania lub obrotu. Ułatwia to łączenie przekształceń, które stają się znacznie prostsze. 34. Zasady składania przekształceń geometrycznych. Wszystkie przekształcenia: translacja, skalowanie, obrót, pochylanie są afiniczne. Przekształcenia afiniczne: zachowują równoległość linii nie zachowują odległości i kątów Omówione przekształcenia mogą być dowolnie składane ze sobą. Przykład1: obrót obiektu wokół punktu P1=(x1,y1): przesunięcie P1 do (0,0) obrót o kąt θ przesunięcie (0,0) z powrotem do P1
Przykład2: przesunięcie P1 do (0,0) skalowanie obrót
przesunięcie (0,0) do P2 Składanie przekształceń nie jest przemienne!
• filtr kolorowy • zwiększenie kontrastu • utrata ostrości • wygładzanie (smoothing) • uwypuklenie (relief) • progowanie • fotoinwersja
35. Model procesu rzutowania 3D.
42. Podstawowy empiryczny model światła - uwzględnia pierwotne źródła światła - wprowadza empiryczny stały współczynnik dla wtórnych źródeł światła - zakłada lambertowską charakterystykę światła odbitego (odbicie rozproszone) Właściwości powierzchni lambertowskich: - powierzchnie matowe bez połysku - jednakowo jasne ze wszystkich kierunków obserwacji - dla danej powierzchni jasność zależy od kąta Θ między kierunkiem L od źródła i normalną do powierzchni N
Równanie konwersji RGB Æ CMY
W ogólności: rzutowanie – przekształcenie punktów w nwymiarowym układzie współrzędnych w punkty w układzie współrzędnych o wymiarze mniejszym niż n. W tym przypadku: przekształcenie punktów w układzie trójwymiarowym w punkty na płaszczyźnie. Planarne rzuty geometryczne – rzutowanie na płaszczyznę. Planarne rzuty geometryczne: rzut perspektywiczny środek rzutowania w skończonej odległości od płaszczyzny rzutowania rzut równoległy środek rzutowania w nieskończoności, promienie rzutujące są równoległe Rzut perspektywiczny odwzorowuje sposób widzenia człowieka (skrót perspektywiczny). Wielkość rzutu zmniejsza się przy wzroście odległości między środkiem rzutowania a obiektem. Zniekształcane są kształty i wymiary obiektów. Rodzaje: jednopunktowy dwupunktowy trzypunktowy Rzut równoległy nie zachowuje perspektywy, zachowuje kształt i rozmiar obiektów. Rodzaje rzutu równoległego (i przykłady): prostokątny ortogonalne: przedni, górny, boczny aksonometryczne: izometryczny ukośny wojskowy kawaleryjski Implementacja płaskich rzutów geometrycznych Podejście koncepcyjne: obliczanie punktów przecięć odcinków z każdą z sześciu płaszczyzn określających bryłę widzenia obcięcie części odcinków na zewnątrz tych płaszczyzn rzutowanie na rzutnię – rozwiązanie układu równań dla przecięcia promieni rzutujących z rzutnią Mało efektywna metoda dużo obliczeń. Prostsza metoda implementacji płaskich rzutów: Przekształcenie bryły widzenia w bryłę kanoniczną – znalezienie przekształceń normalizujących: rzut równoległy – prostopadłościan 2x2x1 rzut perspektywiczny - prawidłowy ostrosłup ścięty Obcinanie za pomocą brył kanonicznych jest prostsze. W kolejnym kroku wykonuje się rzutowanie. 36. Rzuty perspektywiczne i ortogonalne na przykładzie OpenGL
C = 1 - R M = 1 - G Y = 1 - B 39. Narysować i omówić model koloru HLS. W jakim zakresie definiuje się parametry tego modelu.
37. Jakie czynniki wpływają na wrażenie koloru? Podać ich interpretację na przykładzie wykresu rozkładu energii światła w funkcji długości fali. Czynniki mające wpływ na wrażenie koloru: barwa - fizycznie określa ją długość fali świetlnej (zakres widzialności dla człowieka wynosi od 400 do 700 nm).Barwa zależy od wartości na osi poziomej. jasność - określa ją wielkość energii związanej z promieniowaniem (nie ma żadnych ograniczeń – jeśli jest bardzo duża, może spowodować uszkodzenie oka). Jasność zależy od wartości na osi pionowej. nasycenie - stosunek różnicy energii dla dominującej fali świetlnej (e2) i wypadkowej energii dla wszystkich pozostałych długości fali (e1) podzielona przez wartość energii dla dominującej fali świetlnej (e2), czyli (e2 – e1) / e2. Nasycenie (czystość) barwy jest tym większe, im większa jest wartość e2 w stosunku do e1. Dla e2 = e1 mamy nasycenie zerowe, gdy zaś e1=0, nasycenie wynosi 100%. Nasycenie fizycznie odpowiada ilości fal o różnej długości składających się na dany kolor. Barwę fizycznie określa długość fali, subiektywnie barwą można nazwać to, co odróżnia np. zieleń od błękitu, a jest wspólne dla odcieni czerwonego. Odcienie tej samej barwy klasyfikujemy jako jaśniejsze lub ciemniejsze. Jasność określa stopień podobieństwa do barwy białej (dla odcieni jasnych), lub czarnej (dla odcieni ciemnych). Przy tej samej barwie i jasności odcienie jedne wydają się nam bardziej nasycone (czystsze), a inne mniej. Jako najbardziej nasycone odbieramy barwy w widmie słonecznym. Przeciętnie człowiek rozróżnia ok. 150 czystych barw widma słonecznego. Uwzględniając jasność i odcienie jesteśmy w stanie rozróżnić przez porównanie ok. 400000 kolorów, a tylko kilkadziesiąt z pamięci. 38. Narysować i omówić modele koloru RGB i CMY. Podać równanie konwersji RGBÆ CMY. RGB – 3 barwy podstawowe: czerwony, zielony i niebieski (Red, Green, Blue) – odpowiadają sprzętowemu sposobowi generowania kolorów w monitorze rastrowym. W modelu RGB wszystkim możliwym do uzyskania barwom odpowiadają punkty sześcianu jednostkowego, rozpiętego na osiach barw podstawowych. Początek układu (0,0,0) reprezentuje barwę czarna, wierzchołki sześcianu leżące na osiach barwy podstawowe, a przeciwległe do nich wierzchołki barwy dopełniające. Przekątna (0,0,0) Æ (l,l,l) odpowiada różnym poziomom szarości, od białego do czarnego. Model ten opisuje addytywny proces otrzymywania barw w wyniku dodawania (mieszania) w różnych proporcjach trzech barw podstawowych.
Kolor definiowany jest za pomocą trzech wielkości: barwy (H- hue), jasności (L- lightness) i nasycenia (S- saturation). Barwa jest reprezentowana za pomocą okręgu. Wartości definiujące barwę mieszczą się w przedziale (0°-360°). Trzy kolory podstawowe (red, green, blue) i trzy kolory dopełniające (cyan, magenta, yellow) są rozmieszczone regularnie na okręgu tworząc sześcian regularny. Jasność (L)definiuje wartościami od 0 (kolor czarny) do 1(kolor biały) wszystkie odcienie szarości (skala kolorów achromatycznych). Nasycenie (S) fizycznie odpowiada ilości fal o różnej długości składających się na dany kolor. Wartość 1 odpowiada kolorowi czystemu lub w pełni nasyconemu i tworzonemu za pomocą fal o tej samej długości.
Model HLS może być wyjaśniony w oparciu o podwójny stożek złączony podstawami. Nasycenie mierzone jest względną odległością punktu od pionowej osi. Na powierzchni stożków wszystkie kolory mają nasycenie równe 1, dla punktów leżących na osi L wartość nasycenia jest równa 0. Barwa jest mierzona wartością kąta wokół osi L. Jasność określona jest współrzędną na osi pionowej L. Barwa w modelu HLS jest wyrażana często jako część ułamkowa jednostkowego kąta pełnego. Stąd kolory mogą być definiowane wektorem o trzech składowych , których wartości należą do przedziału <0, 1>. 40. Narysować i omówić model koloru HSV. W jakim zakresie definiuje się parametry tego modelu.
Równanie oświetleni: I=Iaka+Ipkd cosΘ gdzie: I – intensywność światła odbitego od powierzchni Ia – intensywność światła otoczenia ka – współczynnik odbicia światła otoczenia zależny od właściwości optycznych powierzchni odbijającej, dobierany doświadczalnie z przedziału [0-1] Ip – intensywność punktowego źródła światła kd – współczynnik odbicia rozproszonego źródła światła pierwotnego zależny od właściwości optycznych powierzchni odbijającej, dobierany doświadczalnie z przedziału [0-1] Θ – kąt między kierunkiem od źródła światła i normalną do powierzchni Strumień światła z punktowego źródła światła maleje odwrotnie proporcjonalnie do odległości dL źródła światła od powierzchni: I=Iaka+fattIpkd cosΘ gdzie 2 fatt=min(1/(c1+c2dL+c3dL ),1); c-stałe określone empirycznie związane z właściwościami źródła światła. W przypadku świateł barwnych i powierzchni barwnych należy definiować równania oświetlenia dla każdej składowej podstawowej osobno, a jeszcze lepiej, gdy równanie oświetlenia przeliczymy w sposób ciągły dla całego zakresu widma światła widzialnego: Iλ =IaλkaOdλ+fattIpλkdOdλ cosΘ. 43. Model oświetlenia Phonga - uwzględnia odbicie kierunkowe (zwierciadlane) światła - powierzchnia odbijająca ma charakter lustrzany: powierzchnie gładkie z połyskiem (światło odbijane w jednym kierunku) - zapewnia złudzenie odblasku światła na powierzchni obiektów - w miejscu rozświetlania barwa zbliżona do barwy padającego światła efekty oświetlenia zależne od położenia obserwatora (kąta pomiędzy kierunkiem światła odbitego a kierunkiem obserwatora)
Równanie oświetlenia:
gdzie: ks - współczynnik odbicia kierunkowego zależny od właściwości optycznych powierzchni odbijającej, dobierany doświadczalnie z przedziału [0-1] 0sλ - barwa światła odbitego α - kat między kierunkiem światła odbitego a kierunkiem do obserwatora n – współczynnik definiujący właściwości lustrzane powierzchni odbijającej. Dla idealnego odbicia kierunkowego n równe nieskończoność. Dla wartości 1 występuje łagodny spadek jasności, dla wartości większych występują na powierzchnie ostre rozświetlenia k s O s λ – współczynnik odbicia kierunkowego zależny od właściwości powierzchni i długości światła; światło o długości λ odbijane w takiej proporcji Wiele źródeł światła
gdzie: m – liczba źródeł światła
CMY – barwy podstawowe: zielono-niebieska (Cyan), karmazynowa (Magneta) i żółta (Yellow). Stanowią one dopełnienia barw czerwonej, zielonej i niebieskiej i są nazywane podstawowymi barwami substraktywnymi, gdyż usuwają poprzednie podstawowe barwy ze światła białego – wypadkową pozostałych odbitych składników odbieramy jako daną barwę. Model CMY jest substraktywny i służy do określenia kolorów rysunków na ploterach i drukarkach. Można przedstawić go w postaci sześcianu jednostkowego. Osie układu odpowiadają barwom zielono-niebieskiej, karmazynowej i żółtej. Punkt (0,0,0) określa barwę białą, maksymalne (równe l) składowe barw podstawowych dają barwę czarną (1,1,1). W praktyce nie absorbują one łącznie wszystkich długości widzialnych fal i światło odbite od powierzchni pokrytej tymi trzema kolorami odbieramy jako ciemnoszare. Dlatego stosuje się druk czterobarwny, dodatkowo używając czarnej farby.
44. Model oświetlenia Halla - globalny model oświetlenia: łączy elementy empiryczne i zjawiska fizyczne związane z rozchodzeniem promieni świetlnych - uwzględnia pierwotne źródła światła, światło otoczenia oraz światła pośrednie z kierunków wyznaczonych przez promienie odbite i załamane - uwzględnia przeźroczystość oświetlanych obiektów
41. Operacje w przestrzeni kolorów związane z przetwarzaniem obrazu • zmiana jasności • zmiana nasycenia • zmiana barwy • redukcja liczby barw • przejście na obraz monochromatyczny
Oznaczenia przyjęte w modelu Halla: a)obiekty nieprzeźroczyste b)obiekty przeźroczyste
Rys.7.6. Graficzny schemat metody siedzenia promieni Rodzaje promieni: a) promienie pierwotne – półproste o początku w punkcie położenia obserwatora, wykorzystywane dodatkowo do realizacji przekształceń perspektywicznych i usuwania niewidocznych powierzchni b) promienie wtórne – promienie odbite i załamane. Wykorzystywane do symulacji odbić kierunkowych, przezroczystości oraz załamania światła na granicy dwóch ośrodków c)promienie testujące cienie – prowadzone od punktu przecięcia w kierunku każdego pierwotnego źródła światła. Jeżeli promień testujący przecina na swojej drodze inny obiekt, to ten obiekt jest w obszarze cienia. Algorytm realizujący wyznaczanie oświetlenia pomija intensywność źródła światła związanego z tym promieniem Właściwości metody: wyniki obliczeń uzależnione od położenia obserwatora - modelowanie oświetlenia tylko w obszarze generowanej sceny - konieczność powtarzania obliczeń dla danej sceny przy zmianie położenia obserwatora
Wektor H jest w połowie między kierunkami od źródeł światła i do obserwatora. Gdyby normalna N była w tym samym kierunku co H, wówczas obserwator widziałby najjaśniejsze odbicie ponieważ R i V wskazywałyby ten sam kierunek.
łatwość adaptacji algorytmu metody do przetwarzania równoległego(niezależność obliczeń dla poszczególnych pikseli wierna symulacja składowej kierunkowej oświetlenia uproszczona symulacja składowej rozproszonej słabe punkty metody: - pomijanie wzajemnego oświetlenia obiektów światłem od nich odbitych i rozproszonym - pomijany wpływ składowej kierunkowej na oświetlenie powierzchni rozpraszających (nie występuje efekt oświetlania powierzchni matowych przez światła odbite w lustrach)
Równanie oświetlenia:
Iλ = Iλdif + Iλspec+ Iλtr + Iλgdif + Iλgspec+ Iλgtr Składniki równania: - oświetlenie wynikające z odbicia rozproszonego z m różnych źródeł światła - oświetlenie wynikające z odbicia kierunkowego promieni świetlnych z m różnych źródeł światła od powierzchni nieprzezroczystych - oświetlenie wynikające z załamania kierunkowego promieni świetlnych z m różnych źródeł światła przechodzących przez powierzchnie przezroczyste oświetlane z przeciwnej strony niż obserwator - oświetlenie pośrednie wynikające ze światła otoczenia - oświetlenie pośrednie z kierunku wyznaczonego przez promień odbity - oświetlenie pośrednie z kierunku wyznaczonego przez promień załamany 45. Równanie renderingu
47. Modelowanie oświetlenia metodą bilansu promieniowania Kolejne fazy metody: Obliczenia geometryczne – pochłaniają ok. 90% czasu symulacji dyskretyzacja powierzchni obiektów znajdujących się w scenie, zwiększenie stopnia dyskretyzacji powoduje wzrost ilości obliczeń, ale jednocześnie zwiększenie dokładności symulacjiwyznaczenie współczynników sprzężenia między wszystkimi powierzchniami elementarnymi Definicja bilansu promieniowania dla każdej powierzchni elementarnej
B =E +ρ •H
(*) i i i i Bi – promienność i-tej powierzchni elementarnej Ei – natężenie światła emitowanego przez i-tą powierzchnię
ρi
- współczynnik odbicia światła i-tej powierzchni
Hi – natężenie napromienienia i-tej powierzchni, zależne od promienności wszystkich pozostałych powierzchni elementarnych oraz ich położenia w przestrzeni
H i = ∑ Fij • B j j
Fij – współczynnik sprzężenia między powierzchniami Do wyznaczenia Hi konieczne jest wyznaczenie promienności Bj wszystkich powierzchni elementarnych, co sprowadza się do rozwiązania układu równań liniowych o postaci (*). Liczba równań jest proporcjonalna do liczby powierzchni elementarnych. Generacja wyników symulacji Na ekranie monitora wyświetlane są wyniki symulacji. Używa się przy tym jednego z algorytmów usuwania niewidocznych powierzchni i interpolacji wartości luminancji. Właściwości metody: - niezależna od położenia obserwatora. Rozdzielone czasochłonne fazy symulacji propagacji światła od fazy generacji obrazu. Umożliwia to wielokrotne powtarzanie generacji obrazu dla dowolnego położenia obserwatora na podstawie jednokrotnej symulacji propagacji światła - dokładnie symuluje odbicia rozproszone, słabe uwzględnienie zjawisk związanych z odbiciem kierunkowym
46. Modelowanie oświetlenia metodą śledzenia promieni - analiza biegu promieni, które mają początek w punkcie położenia obserwatora i skierowane są poprzez hipotetyczny ekran w stronę wizualizowanej sceny - śledzone promienie napotykają na swojej drodze obiekty (punkty przecięć) i ulegają odbiciu, załamaniu lub absorpcji - promienie odbite i załamane, których kierunki wyznaczone są zgodnie z prawami optyki śledzone są rekurencyjnie aż do ich całkowitego stłumienia - suma intensywności oświetlenia w punktach przecięć na drodze promieni pierwotnych i wtórnych wyznacza barwę piksela w najbliższym punkcie przecięcia promienia pierwotnego
48. Reszta Omówić możliwości funkcjonalne biblioteki OpenGL Biblioteka kilkuset procedur i funkcji graficznych opracowana dla potrzeb najnowszych tendencji w grafice i technologii sprzętu grafiki komputerowej. Wykorzystywany model klient serwer, w którym klient (program) wysyła polecenia a serwer (GL) wykonuje polecenia. Możliwość implementacji sprzętowej. Nowe możliwości funcjonalne: • opis geometryczny za pomocą siatki trójkątów i czworokątów • krzywe i powierzchnie nieregularne definiowane przez niejednorodne parametryczne funkcje B-sklejane (NURBS) • pełen zestaw barw (24 bity) • cieniowanie metodą Gourauda • operacje (HLHSR) usuwania niewidocznych linii i powierzchni z wykorzystaniem Z-bufora modelowanie oświetlenia (do 8 różnych źródeł światła) • operacje na pixelach • funkcje sterujące buforowaniem ekranu • antyaliasing - poprawa jakości obrazu
• funkcje sterujące ankładaniem tekstury • modelowanie efektów atmosferycznych (mgła, zachmurzenie, pora dnia i nocy, głębia przestrzenna) • możliwość interpretacji sprzętowej funkcji i procedur Omówić formaty graficzne: TIFF, GIF, JPG, FLT TIFF (Tag Image Format File - Aldus Corporation) - opracowany do opisu i przesyłania obrazów rastrowych - dowolne rozmiary obrazów - obrazy czamo-białe, monochromatyczne z pełną gradacją szarości, kolorowe z paletą barw lub pełną barwą - różne modele koloru (RGB, CMYK, YCrCb) - możliwość wykorzystania różnych metod kompresji - obrazy mogą pochodzić z różnych urządzeń (skanery, kamery, urządzenia akwizycji obrazów) oraz z różnych programów do malowania i retuszowania - możliwość dodawania specjalnych informacji - możliwość rozbudowy formatu o nowe funkcje GIF (Graphics Interchange Format - CompuServe) opracowany dla potrzeb transmisji obrazów rastrowych w standardzie VGA z co najwyżej 8 bitami na pixel JPG ("Joint Photographic Experts Group") stworzony do przechowywania obrazów, które wymagają "pełnego koloru", ale nie mają zbyt wielu ostrych krawędzi i małych detali - a więc zdjęć pejzaży, portretów i innych "naturalnych" obiektów. -standardowa metoda kompresji zdigitalizowanych fotografii opracowana dla potrzeb transmisji -kodowanie kolorów: True Color 24 RGB 2 = 16,7 mln barw -kompresja stratna, próbkowane są bloki 8x8 pikseli: dokładnie zapamiętywana jest uśredniona wartość barwy, informacje o zmianach jasności lub koloru pikseli zapamiętywane są mniej dokładnie niż obszary jednolite. Im większy stopień kompresji, tym więcej pikseli w bloku będzie miało zbliżoną barwę. Transformacyjna , metoda kompresji DCT (Digital Cosinus Transform) -najpopularniejszy format kodowania obrazów o pełnej skali szarości i kolorowych dla potrzeb sieci Internet, programów prezentujących i multimedialnych, wymagających plików o niewielkich rozmiarach. -im większy stopień kompresji, tym mniejszy plik i tym większa strata jakości. Z obrazu mogą zostać usunięte drobne szczegóły, a linie i ostre krawędzie zostaną rozmyte. Fotografia po skanowaniu kodowana jest przeciętnie przy użyciu 1 bitu na piksel. -Uwaga: należy używać zawsze tego samego stopnia kompresji przy wielokrotnym, ponownym kompresowaniu tego samego obrazu JPEG. FLT (Open-Flight) (Multi Gen Inc.) -format graficznej reprezentacji obiektów 3D -wykorzystywany w generatorach obrazu „real-time” -hierarchiczna struktura opisu modelu obiektów -grupy i klasy • OpenFlight – struktura bazy danych • • •
OpenFlight – grupa LOD (Level of detail) – poziom szczegółowości OpenFlight – grupa Switch OpenFlight – grupa sekwencyjna