Sc

2
1. Co to jest grafika komputerowa, przetwarzanie obrazu i rozpoznawanie obrazu Grafika komputerowa : tworzenie obrazów na podst. informacji opisowej Przetwarzanie obrazu : wszystkie operacje, w których dane wejściowe i wyjściowe mają postać obrazów. NP: - 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 2. Klasy danych obrazowych KLASA I Obrazy monochromatyczne i kolorowe. Dokładnie odzwierciedlają rzeczywistość. Reprezentowane jako macierze pamięci, gdzie komórkami są pixele. Możliwe są żne struktury komórek w zależności od głębi barw. KLASA II Obrazy binarne. Obrazy monochromatyczne, czarnobiałe-tekst. Element obrazu opisywany przez 1bit. Reprezentowane prze macierze pamięci, lub mapy bitowe, brak standardowego sposobu grupowania bitów w bajty, a bajtów w słowa w pamięci systemu graficznego. KLASA III Linie proste i krzywe. Na przykład wykresy, kontury obrazów, krzywe nieregularne. Reprezentacja obrazów: 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 żnicowy kod łańcuchowy – reprezentacją każdego punktu jest ż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. KLASA IV Punkty, wieloboki. Klasa najczęściej wykorzystywana w grafice komputerowej. Obraz reprezentowany jest przez współrzędne punktów i funkcje matematyczne. Punkty charakterystyczne połączone są liniami prostymi, lub krzywymi opisanymi przez funkcje. Istnieje duża różnorodność funkcji i metod opisujących kształt generowanych obiektów. 3. Przedstawić za pomocą algorytmu zasadę wyznaczania histogramu rozkładu jasności obrazu kolorowego o24- bitowej strukturze pixela Oznaczenia: f(P) – wartość elementu P[0;L] HR[256]-histogram dla składowej R HG[256]-histogram dla składowej G HB[256]-histogram dla składowej B H[256]-histogram całego obrazu P – element obrazu PR – składowa R elementu obrazu PG – składowa G elementu obrazu PB – składowa B elementu obrazu Algorytm: dla każdego z<=L HR[z],HG[z],HB[z]:=0; FOR wszystkie elementy P obrazu DO BEGIN HR[PR]++; HG[PG]++; HB[PB]++; H[(max(PR,PG,PB)+min(PR,PG,PB))/2]++; END KONIEC 4. Metoda poprawy jakości obrazu poprzez modelowanie histogramu Modelowanie histogramu obejmuje: - rozciągnięcie histogramu - wyrównanie histogramu - normalizację histogramu Rozciągnięcie Histogramu – wykonywana wówczas, gdy histogram nie obejmuje całego zakresu. Nie obejmuje on tonów bardzo ciemnych i bardzo jasnych. Wyrównanie Histogramu – celem wyrównania histogramu jest uzyskanie w miarę równomiernego rozkładu poziomów jasności obrazu dla całego zakresu. Skutkiem jest poprawa kontrastu. Metoda nie jest uniwersalna, dla niektórych kształtów histogramu nie daje efektów. Normalizacja Histogramu - Operacja normalizacji histogramu zmienia zakres zmienności poziomów jasności obrazu wyjściowego. 5. Metody poprawy jakości obrazu poprzez korekcję tonalną Korekcja tonalna jest przykładem operacji punktowej. Operacja wykonywana jest na jednym px. - rozjaśnienie - przyciemnienie - zwiększenie kontrastu - zmniejszenie kontrastu Korekcja tonalna wykonywana jest na krzywej tonów. Krzywa jest wykresem opisującym zależności pomiędzy wielkością poziomów jasności na wejściu (obraz przed korekcja) a poziomami jasności na wyjściu (obraz po korekcji). Krzywa odwzorowania tonów jest początkowo linia prosta nachylona pod kątem 45°. Na osi poziomej zaznaczone są poziomy jasności obrazu wejściowego, a na osi pionowej poziomy jasności obrazu wyjściowego. Przed korekcja krzywa przypisuje identyczne poziomy jasności obrazowi wejściowemu i wyjściowemu. W trakcie korekcji kształt krzywej jest zmieniany. Krzywa posiada umowne zakresy (obszary) jasnosci: 1. Cienie 2. Tony średnie 3. światła Obszary zajmują dokładnie 1/3 osi każdy. Wyróżniamy 2 rodzaje korekcji tonalnej: - liniową - nieliniową Liniowa korekcja Tonalna – krzywa zależności tonów jest linią prostą lub łamaną nachyloną do osi pod pewnym kątem. Wadą takiej korekcji jest obcięcie pewnych tonów i utrata szczegółów w skrajnych tonach. Efektów takich nie powoduje korekcja nieliniowa. 6. 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. filtr rozmywający - 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). Nazywany także dolnoprzepustowym, ponieważ przepuszcza pixele o malej zmienności(częstotliwości), a nie przepuszcza tych o dużej. Filtr wyostrzający – jest używany do wzmocnienia szczegółów obrazu o dużej zmienności. Wykorzystywany do zaakcentowania obiektów w obrazie, albo ich identyfikacji. Ujemnym skutkiem jest wzmocnienie szumu w obrazie. Filtr ten akcentuje różnicę między sąsiadującymi ze sobą jasnymi i ciemnymi pikselami. Detekcja krawędzi – Operatory Laplace’a wykrywają krawędzie we wszystkich kierunkach. Metody wykrywania krawędzi korzystające z Laplasjanów dają lepsze efekty niż inne metody. Konturowanie obrazu – Działają na zasadzie gradientowej. Gradient wskazuje stopień i kierunek zmienności. Gradient ma największą wartość tam, gdzie pojawiają się największe różnice między jasnością sąsiadujących pixeli. 7. Narysować przebiegi czasowe sygnałów synchronizacji poziomej (HSYNC) i pionowej (VSYNC), zaznaczyć odcinki czasowe związane z generacją linii i pixeli. Synchronizacja pozioma: 1. Horizontal Line Rate HFreq [kHz] 2. Horizontal Synchronization Width HSync [μs] 3. Horizontal Back HBack [μs] 4. Horizontal Front HFront [μs] Synchronizacja pionowa: 1. Horizontal Line Rate VFreq [Hz] 2. Vertical Synchronization Width VSync [ms] 3. Vertical Back VBack [ms] 4. Vertical Front VFront [ms] 8. Wyznaczyć szerokość pasma video(VBW) karty graficznej Video Blank Freq Video Active Freq Blank Freq Active H K VBW H H H V L H V V V = = = = 1 1 9. Wyznaczyć częstotliwość sygnału synchronizacji poziomej (HSYNC) Częstotliwość sygnału HSYNC jest dokładnie taka jak częstotliwość sygnału HFreq. Jego częstotliwość wyliczamy: Active Freq Blank Freq Active V L H V V V = = 1 Czas trwania sygnału HSYNC wyliczamy: Blank Sync Back Front blank Sync H H H H H H % 80 = 10. Algorytm Bresenhama kreślenia odcinka Rysowanie odcinka metoda Bresenhama opiera sie na zmiennej decyzyjnej, ktorej znak decyduje o kolejnym kroku algorytmu. Zmienna okresla kierunek poziomy, pionowy lub idealnie skosny rysowania kolejnego piksela odcinka. Algorytm dziala na liczbach calkowitych. Zalozenia: - odcinek okreslony przez wspolrzedne poczatku i konca (x0 ,y0) i (xk ,yk); - x0 < xk ; - wspolczynnik kierunkowy odcinka spelnia nierownosc: 0<dy/dx £ 1 gdzie: dy = yk - y0 dx = xk - x0 Rysowanie zaczynamy od piksela P0 = (x0 ,y0). Poniewa kat nachylenia odcinka jest ograniczony do przedzialu [0, 45°], wiec po znalezieniu kolejnego Pi = (xi ,yi) nastepny piksel wybieramy z posrod tylko dwoch: Si+1= (xi+1, yi) i Ti+1= (xi+1, yi+1) Wielkosci s i t sa okreslone rownaniami: Odejmujac te rownania stronami i mnozac przez dx otrzymujemy: Poniewa dx > 0, wiec znak di okresla, ktora z wielkosci s i t jest wieksza. Jesli di > 0, to i za Pi+1 przyjmujemy piksel Ti+1, w przeciwnym razie, jeeli di < 0, wybierzemy piksel Si+1. Rownosc di = 0 oznacza, ze oba piksele Si+1 i Ti+1 leza w tej samej odleglosci od odcinka i wtedy mozemy arbitralnie decydowac, np., ze Pi+1 = Ti+1. Dla i+1 wzor (1) ma postac: Odejmujac od niego stronami rownanie (1) uzyskujemy zalenosc: stad: gdyz: xi+1 - xi = 1. Jesli di >= 0 (wybieramy wtedy Pi+1 = Ti+1) to yi = yi + 1 i zalenosc rekurencyjna (2) upraszcza sie do postaci: a jeeli di < 0 (wybieramy wtedy Pi+1 = Si+1) to yi = yi i mamy: Dla i = 0, ze wzoru (1) dostajemy wartosc poczatkowa zmiennej decyzyjnej d0 =2dy - dx 11. Algorytm Bresenhama kreślenia okręgu Zalozenia: promien okregu R jest liczba naturalna, a jego srodek lezy w poczatku ukladu wspolrzednych; - osmiokierunkowy wybor piksela; - ze wzgledu na symetrie okregu ograniczymy wyznaczanie piksela tylko do 1/4 okregu (dla a = 1 wystarczy rozwazenie 1/8 okregu). Rysowanie zaczynamy od piksela P0=(0,R), nastepne wyznaczamy zgodnie z kierunkiem obrotu wskazowek zegara. Po znalezieniu piksela Pi, wybor nastepnego Pi+1 ogranicza sie do jednego z trzech pikseli oznaczonych na rysunku literami A, B lub C. Punkt Z, w ktorym wspolczynnik kierunkowy wektora stycznego: jest rowny –1, dzieli cwiartke okregu na dwa wycinki: - w wycinku 1: p^2 * x < q^2 *y- wybieramy piksel Pi+1 sposrod pikseli A i B zwiekszajac kolejno wartosc x; - w wycinku 2: p^2 *x >= q^2 *y - wybieramy piksel Pi+1 sposrod pikseli B i C zmniejszajac kolejno wartosc y. Wybor piksela leacego bliej okregu (A czy B lub B czy C) dokonujemy wyznaczajac wartosci f(x,y) dla odpowiednich wspolrzednych x i y. Sposob nie efektywny – dziala na liczbach rzeczywistych. W przypadku krzywych opisanych rownaniem wyszego stopnia zloony obliczeniowo. Wygodniej zastosowac inne kryterium wyboru - von Akenema. 12. 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, 1 0 u i 1 0 v . 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. Funkcja punktu na powierzchni: ∑∑ = = = = + = 1 0 1 0 1 0 1 0 ) , ( ) ( ) ( ) , ( ) ( ) , ( ) ( ) , ( i j j i j j i i j i P v F u F j u P v F v i P u F v u S Przykładowe funkcje: u u F u u F = = ) ( 1 ) ( 1 0 13. Modelowanie krzywych i powierzchni funkcjami 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 zachowaniem ciągłości klasy C 1 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 14. Modelowanie krzywych i powierzchni funkcjami B-sklejanymi 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-1, który zapewnia ciągłość klasy C k-2 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 - stopień k funkcji bazowej zapewnia ciągłość klasy C k-1 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 15. Modelowanie krzywych i powierzchni funkcjami β-sklejanymi 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. 16. Metoda modelowania brył przy pomocy drzew ósemkowych Jest to uogólnienie metody opisu przestrzeni 2D przy pomocy drzew czwórkowych na przestrzeń 3D. W metodzie tej obiekt tworzony wpisujemy w sześcian, któremu przypisujemy korzeń drzewa. Sześcian dzielimy na 8 mniejszych zwanych oktetami. Każdemu z nich przypisujemy węzły w drzewie. Jeśli oktant jest całkowicie zajmowany przez obiekt nadajemy mu wartość FULL, gdy cały oktant leży poza bryłą nadajemy mu wartość EMPTY. Niepełne oktanty dzielimy na dalej na mniejsze. Dzielenie wykonujemy do uzyskania wszystkich oktantów pełnych, albo uzyskania zadanej rozdzielczości. 17. Metoda modelowania brył CSG Metoda budowy brył przestrzennych z ustalonych podstawowych elementów – prymitywów. Zdefiniowane operacje na prymitywach: dodawanie, odejmowanie, iloczyn. Prymitywem może być dowolny obszar przestrzeni spełniający nierówność: 0 ) , , ( z y x f Dowolną bryłę opisuje się drzewem, gdzie liście stanowią prymitywy graficzne, zaś w węzłach zewnętrznych opisane są operacje na prymitywach, lub transformacje. 18. Metoda modelowania brył poprzez zakreślanie przestrzeni Modelowanie bryły polega na przemieszczeniu po pewnej trajektorii przekroju bryły (figury płaskiej). Najprostsze przykłady to obrót wokół osi, oraz przesunięcie równoległe. Podczas zakreślania bryły zmianie mogą podlegać: - położenie punktów wyznaczających oś obrotu - przesunięcie figury zakreślającej - rozmiar figury zakreślającej - kształt figury zakreślającej 19. Omówić na przykładzie funkcji biblioteki OpenGL przekształcenia geometryczne w 3D W środowisku OpenGL rozróżniamy 3 podstawowe operacje przekształcenia geometryczne: - przesunięcie – translację - skalowanie - rotację – obrót Przesunięcie – jest wykonywane poprzez przesunięcie obiektu o zadany wektor. Realizowane przez funkcję glTranslate*(); Skalowanie – zmniejsza rozmiar obiektu. S = <SX, SY, SZ> P(PXSX, PYSY, PZSZ). Realizowane jest przez funkcję glScale*(). Rotacja – obrót obiektu wokół środka układu współrzędnych. Realizowana przez funkcję glRotate. Jej parametry to kąt obrotu, oraz osie wokół których nabyć wykonany obrót. 20. Narysować i omówić model procesu rzutowania 3D Na wejściu do procesu podawana jest macierz współrzędnych we współrzędnych obiektu. Następnie wykonywane są: 1. macierz modelowania M - translacja - rotacja - skalowanie 2. macierz rzutowania P - rzut ortogonalny - rzut perspektywiczny 3. Dzielenie perspektywiczne Przekrztałcenie normalizujące w celu przejścia do wsp. w pixelach. 4. przekrztałcenie do wsp. ekranowych Definiowanie okna zobrazowania. 21. Omówić na przykładzie funkcji biblioteki OpenGL rzutowanie perspektywiczne Rzut perspektywiczny nadaje realizm symulacjom i animacjom oraz imituje wrazenie glebi obrazu. Wielkosc rzutu obiektu jest odwrotnie proporcjonalna do odleglosci obiektu od srodka rzutowania. Rzuty tego typu nie nadaja sie jednak do rejestrowania ksztaltu obiektu i dokonywania pomiarow (np. katy na ogol nie sa zachowywane). Punkt zbieznosci dla peku prostych rownoleglych do danej osi ukladu wspolrzednych, okreslamy jako osiowy punkt zbieznosci. W zaleznosci od liczby istniejacych osiowych punktow zbieznosci rozrozniamy rzuty jedno-, dwu- i (rzadko stosowane) trzy-punktowe. Liczba osiowych punktow zbieznosci zalezy od tego ile osi ukladu wspolrzednych przecina rzutnia. W OpenGL za rzut perspektywiczny odpowiada funkcja glFrustnum(), jej parametry to kolejno krawędzie lewa, prawa, dolna, górna bliższej płaszczyzny odcięcia, oraz parametry odległość bliższej i dalszej płaszczyzny odcięcia

Transcript of Sc

Page 1: Sc

1. Co to jest grafika komputerowa, przetwarzanie obrazu i rozpoznawanie obrazu Grafika komputerowa: tworzenie obrazów na podst. informacji opisowej Przetwarzanie obrazu: wszystkie operacje, w których dane wejściowe i wyjściowe mają postać obrazów. NP: - 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 2. Klasy danych obrazowych KLASA I Obrazy monochromatyczne i kolorowe. Dokładnie odzwierciedlają rzeczywistość. Reprezentowane jako macierze pamięci, gdzie komórkami są pixele. Możliwe są różne struktury komórek w zależności od głębi barw. KLASA II Obrazy binarne. Obrazy monochromatyczne, czarnobiałe-tekst. Element obrazu opisywany przez 1bit. Reprezentowane prze macierze pamięci, lub mapy bitowe, brak standardowego sposobu grupowania bitów w bajty, a bajtów w słowa w pamięci systemu graficznego. KLASA III Linie proste i krzywe. Na przykład wykresy, kontury obrazów, krzywe nieregularne. Reprezentacja obrazów: 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. KLASA IV Punkty, wieloboki. Klasa najczęściej wykorzystywana w grafice komputerowej. Obraz reprezentowany jest przez współrzędne punktów i funkcje matematyczne. Punkty charakterystyczne połączone są liniami prostymi, lub krzywymi opisanymi przez funkcje. Istnieje duża różnorodność funkcji i metod opisujących kształt generowanych obiektów. 3. Przedstawić za pomocą algorytmu zasadę wyznaczania histogramu rozkładu jasności obrazu kolorowego o24-bitowej strukturze pixela Oznaczenia: f(P) – wartość elementu P∈[0;L] HR[256]-histogram dla składowej R HG[256]-histogram dla składowej G HB[256]-histogram dla składowej B H[256]-histogram całego obrazu P – element obrazu PR – składowa R elementu obrazu PG – składowa G elementu obrazu PB – składowa B elementu obrazu Algorytm: dla każdego z<=L HR[z],HG[z],HB[z]:=0; FOR wszystkie elementy P obrazu DO BEGIN HR[PR]++; HG[PG]++; HB[PB]++; H[(max(PR,PG,PB)+min(PR,PG,PB))/2]++; END KONIEC 4. Metoda poprawy jakości obrazu poprzez modelowanie histogramu Modelowanie histogramu obejmuje: - rozciągnięcie histogramu - wyrównanie histogramu - normalizację histogramu Rozciągnięcie Histogramu – wykonywana wówczas, gdy histogram nie obejmuje całego zakresu. Nie obejmuje on tonów bardzo ciemnych i bardzo jasnych. Wyrównanie Histogramu – celem wyrównania histogramu jest uzyskanie w miarę równomiernego rozkładu poziomów jasności obrazu dla całego zakresu. Skutkiem jest poprawa kontrastu. Metoda nie jest uniwersalna, dla niektórych kształtów histogramu nie daje efektów. Normalizacja Histogramu - Operacja normalizacji histogramu zmienia zakres zmienności poziomów jasności obrazu wyjściowego. 5. Metody poprawy jakości obrazu poprzez korekcję tonalną Korekcja tonalna jest przykładem operacji punktowej. Operacja wykonywana jest na jednym px. - rozjaśnienie - przyciemnienie - zwiększenie kontrastu - zmniejszenie kontrastu Korekcja tonalna wykonywana jest na krzywej tonów. Krzywa jest wykresem opisującym zależności pomiędzy wielkością poziomów jasności na wejściu (obraz przed korekcja) a poziomami jasności na wyjściu (obraz po korekcji). Krzywa odwzorowania tonów jest początkowo linia prosta nachylona pod kątem 45°. Na osi poziomej zaznaczone są poziomy jasności obrazu wejściowego, a na osi pionowej poziomy jasności obrazu wyjściowego. Przed korekcja krzywa przypisuje identyczne poziomy jasności obrazowi wejściowemu i wyjściowemu. W trakcie korekcji kształt krzywej jest zmieniany. Krzywa posiada umowne zakresy (obszary) jasnosci: 1. Cienie 2. Tony średnie 3. światła Obszary zajmują dokładnie 1/3 osi każdy. Wyróżniamy 2 rodzaje korekcji tonalnej: - liniową - nieliniową Liniowa korekcja Tonalna – krzywa zależności tonów jest linią prostą lub łamaną nachyloną do osi pod pewnym kątem. Wadą takiej korekcji jest obcięcie pewnych tonów i utrata szczegółów w skrajnych tonach. Efektów takich nie powoduje korekcja nieliniowa.

6. 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. filtr rozmywający - 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). Nazywany także dolnoprzepustowym, ponieważ przepuszcza pixele o malej zmienności(częstotliwości), a nie przepuszcza tych o dużej. Filtr wyostrzający – jest używany do wzmocnienia szczegółów obrazu o dużej zmienności. Wykorzystywany do zaakcentowania obiektów w obrazie, albo ich identyfikacji. Ujemnym skutkiem jest wzmocnienie szumu w obrazie. Filtr ten akcentuje różnicę między sąsiadującymi ze sobą jasnymi i ciemnymi pikselami. Detekcja krawędzi – Operatory Laplace’a wykrywają krawędzie we wszystkich kierunkach. Metody wykrywania krawędzi korzystające z Laplasjanów dają lepsze efekty niż inne metody. Konturowanie obrazu – Działają na zasadzie gradientowej. Gradient wskazuje stopień i kierunek zmienności. Gradient ma największą wartość tam, gdzie pojawiają się największe różnice między jasnością sąsiadujących pixeli. 7. Narysować przebiegi czasowe sygnałów synchronizacji poziomej (HSYNC) i pionowej (VSYNC), zaznaczyć odcinki czasowe związane z generacją linii i pixeli. Synchronizacja pozioma: 1. Horizontal Line Rate HFreq [kHz] 2. Horizontal Synchronization Width HSync [μs] 3. Horizontal Back HBack [μs] 4. Horizontal Front HFront [μs]

Synchronizacja pionowa: 1. Horizontal Line Rate VFreq [Hz] 2. Vertical Synchronization Width VSync [ms] 3. Vertical Back VBack [ms] 4. Vertical Front VFront [ms]

8. Wyznaczyć szerokość pasma video(VBW) karty graficznej

Video

BlankFreq

Video

ActiveFreq

BlankFreq

Active

HKVBW

HH

H

VLH

VV

V

=

−=

=

−=

1

1

9. Wyznaczyć częstotliwość sygnału synchronizacji poziomej (HSYNC) Częstotliwość sygnału HSYNC jest dokładnie taka jak częstotliwość sygnału HFreq. Jego częstotliwość wyliczamy:

ActiveFreq

BlankFreq

Active

VLH

VV

V

=

−=1

Czas trwania sygnału HSYNC wyliczamy:

BlankSync

BackFrontblankSync

HH

HHHH

%80≈

−−=

10. Algorytm Bresenhama kreślenia odcinka Rysowanie odcinka metoda Bresenhama opiera sie na zmiennej decyzyjnej, ktorej znak decyduje o kolejnym kroku algorytmu. Zmienna okresla kierunek poziomy, pionowy lub idealnie skosny rysowania kolejnego piksela odcinka. Algorytm dziala na liczbach calkowitych. Zalozenia: - odcinek okreslony przez wspolrzedne poczatku i konca (x0 ,y0) i (xk ,yk); - x0 < xk ; - wspolczynnik kierunkowy odcinka spelnia nierownosc: 0<dy/dx £ 1 gdzie: dy = yk - y0 dx = xk - x0

Rysowanie zaczynamy od piksela P0 = (x0 ,y0). Poniewa kat nachylenia odcinka jest ograniczony do przedzialu [0, 45°], wiec

po znalezieniu kolejnego Pi = (xi ,yi) nastepny piksel wybieramy z posrod tylko dwoch: Si+1= (xi+1, yi) i Ti+1= (xi+1, yi+1) Wielkosci s i t sa okreslone rownaniami: Odejmujac te rownania stronami i mnozac przez dx

otrzymujemy: Poniewa dx > 0, wiec znak di okresla, ktora z wielkosci s i t jest wieksza. Jesli di > 0, to i za Pi+1 przyjmujemy piksel Ti+1, w przeciwnym razie, jeeli di < 0, wybierzemy piksel Si+1. Rownosc di = 0 oznacza, ze oba piksele Si+1 i Ti+1 leza w tej samej odleglosci od odcinka i wtedy mozemy arbitralnie decydowac, np., ze Pi+1 = Ti+1. Dla i+1 wzor (1) ma postac:

Odejmujac od niego stronami rownanie (1) uzyskujemy zalenosc:

stad:

gdyz: xi+1 - xi = 1. Jesli di >= 0 (wybieramy wtedy Pi+1 = Ti+1) to yi = yi + 1 i zalenosc rekurencyjna (2) upraszcza sie do postaci:

a jeeli di < 0 (wybieramy wtedy Pi+1 = Si+1) to yi = yi i mamy:

Dla i = 0, ze wzoru (1) dostajemy wartosc poczatkowa zmiennej decyzyjnej d0 =2dy - dx 11. Algorytm Bresenhama kreślenia okręgu Zalozenia: promien okregu R jest liczba naturalna, a jego srodek lezy w poczatku ukladu wspolrzednych; - osmiokierunkowy wybor piksela; - ze wzgledu na symetrie okregu ograniczymy wyznaczanie piksela tylko do 1/4 okregu (dla a = 1 wystarczy rozwazenie 1/8 okregu). Rysowanie zaczynamy od piksela P0=(0,R), nastepne wyznaczamy zgodnie z kierunkiem obrotu wskazowek zegara. Po znalezieniu piksela Pi, wybor nastepnego Pi+1 ogranicza sie do jednego z trzech pikseli oznaczonych na rysunku literami A, B lub C. Punkt Z, w ktorym wspolczynnik kierunkowy wektora stycznego: jest rowny –1, dzieli cwiartke okregu na dwa wycinki:

- w wycinku 1: p^2 * x < q^2 *y- wybieramy piksel Pi+1 sposrod pikseli A i B zwiekszajac kolejno wartosc x; - w wycinku 2: p^2 *x >= q^2 *y - wybieramy piksel Pi+1 sposrod pikseli B i C zmniejszajac kolejno wartosc y. Wybor piksela leacego bliej okregu (A czy B lub B czy C) dokonujemy wyznaczajac wartosci f(x,y) dla odpowiednich wspolrzednych x i y. Sposob nie efektywny – dziala na liczbach rzeczywistych. W przypadku krzywych opisanych rownaniem wyszego stopnia zloony obliczeniowo. Wygodniej zastosowac inne kryterium wyboru - von Akenema. 12. 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, 10 ≤≤ u i 10 ≤≤ v . 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. Funkcja punktu na powierzchni:

∑∑∑∑= ===

−+=1

0

1

0

1

0

1

0),()()(),()(),()(),(

i jji

jj

ii jiPvFuFjuPvFviPuFvuS

Przykładowe funkcje:

uuFuuF

=−=

)(1)(

1

0

13. Modelowanie krzywych i powierzchni funkcjami 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 zachowaniem ciągłości klasy C1 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 14. Modelowanie krzywych i powierzchni funkcjami B-sklejanymi 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-1, który zapewnia ciągłość klasy Ck-2 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 - stopień k funkcji bazowej zapewnia ciągłość klasy Ck-1 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 15. Modelowanie krzywych i powierzchni funkcjami β-sklejanymi 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. 16. Metoda modelowania brył przy pomocy drzew ósemkowych Jest to uogólnienie metody opisu przestrzeni 2D przy pomocy drzew czwórkowych na przestrzeń 3D. W metodzie tej obiekt tworzony wpisujemy w sześcian, któremu przypisujemy korzeń drzewa. Sześcian dzielimy na 8 mniejszych zwanych oktetami. Każdemu z nich przypisujemy węzły w drzewie. Jeśli oktant jest całkowicie zajmowany przez obiekt nadajemy mu wartość FULL, gdy cały oktant leży poza bryłą nadajemy mu wartość EMPTY. Niepełne oktanty dzielimy na dalej na mniejsze. Dzielenie wykonujemy do uzyskania wszystkich oktantów pełnych, albo uzyskania zadanej rozdzielczości. 17. Metoda modelowania brył CSG Metoda budowy brył przestrzennych z ustalonych podstawowych elementów – prymitywów. Zdefiniowane operacje na prymitywach: dodawanie, odejmowanie, iloczyn. Prymitywem może być dowolny obszar przestrzeni spełniający nierówność:

0),,( ≥zyxf

Dowolną bryłę opisuje się drzewem, gdzie liście stanowią prymitywy graficzne, zaś w węzłach zewnętrznych opisane są operacje na prymitywach, lub transformacje. 18. Metoda modelowania brył poprzez zakreślanie przestrzeni Modelowanie bryły polega na przemieszczeniu po pewnej trajektorii przekroju bryły (figury płaskiej). Najprostsze przykłady to obrót wokół osi, oraz przesunięcie równoległe. Podczas zakreślania bryły zmianie mogą podlegać: - położenie punktów wyznaczających oś obrotu - przesunięcie figury zakreślającej - rozmiar figury zakreślającej - kształt figury zakreślającej 19. Omówić na przykładzie funkcji biblioteki OpenGL przekształcenia geometryczne w 3D W środowisku OpenGL rozróżniamy 3 podstawowe operacje przekształcenia geometryczne: - przesunięcie – translację - skalowanie - rotację – obrót Przesunięcie – jest wykonywane poprzez przesunięcie obiektu o zadany wektor. Realizowane przez funkcję glTranslate*(); Skalowanie – zmniejsza rozmiar obiektu. S = <SX, SY, SZ> P(PXSX, PYSY, PZSZ). Realizowane jest przez funkcję glScale*(). Rotacja – obrót obiektu wokół środka układu współrzędnych. Realizowana przez funkcję glRotate. Jej parametry to kąt obrotu, oraz osie wokół których nabyć wykonany obrót. 20. Narysować i omówić model procesu rzutowania 3D

Na wejściu do procesu podawana jest macierz współrzędnych we współrzędnych obiektu. Następnie wykonywane są: 1. macierz modelowania M - translacja - rotacja - skalowanie 2. macierz rzutowania P - rzut ortogonalny - rzut perspektywiczny 3. Dzielenie perspektywiczne Przekrztałcenie normalizujące w celu przejścia do wsp. w pixelach. 4. przekrztałcenie do wsp. ekranowych Definiowanie okna zobrazowania. 21. Omówić na przykładzie funkcji biblioteki OpenGL rzutowanie perspektywiczne Rzut perspektywiczny nadaje realizm symulacjom i animacjom oraz imituje wrazenie glebi obrazu. Wielkosc rzutu obiektu jest odwrotnie proporcjonalna do odleglosci obiektu od srodka rzutowania. Rzuty tego typu nie nadaja sie jednak do rejestrowania ksztaltu obiektu i dokonywania pomiarow (np. katy na ogol nie sa zachowywane). Punkt zbieznosci dla peku prostych rownoleglych do danej osi ukladu wspolrzednych, okreslamy jako osiowy punkt zbieznosci. W zaleznosci od liczby istniejacych osiowych punktow zbieznosci rozrozniamy rzuty jedno-, dwu- i (rzadko stosowane) trzy-punktowe. Liczba osiowych punktow zbieznosci zalezy od tego ile osi ukladu wspolrzednych przecina rzutnia. W OpenGL za rzut perspektywiczny odpowiada funkcja glFrustnum(), jej parametry to kolejno krawędzie lewa, prawa, dolna, górna bliższej płaszczyzny odcięcia, oraz parametry odległość bliższej i dalszej płaszczyzny odcięcia

Page 2: Sc

C = 1 - R M = 1 - G Y = 1 - B

22. Omówić na przykładzie funkcji biblioteki OpenGL rzutowanie ortogonalne Rzuty ortogonalne sa najprostszym rodzajem rzutow, dla ktorego obraz punktu jest sladem normalnej do plaszczyzny rzutowania przechodzacej przez ten punkt. Jezeli plaszczyzna rzutowania jest XY wowczas wspolrzednej Z przypisuje sie wartosc 0. Tego typu rzutowanie okresla sie stosujac prostokatna lub szescienna bryle rzutowania. Nic, co znajduje sie poza ta bryla nie jest rzutowane. Bryle rzutu okresla sie podajac blizsza, dalsza, lewa, prawa, gorna i dolna plaszczyzne obcinania. Rzuty te latwo uzyskac jednak nie daja one obrazow realistycznych chyba, ze obserwator znajduje sie daleko od obiektu. Ten rodzaj rzutowania stosuje sie w projektowaniu architektonicznym i programach CAD. Do określenia parametrów tego rzutu w OpenGL służy funkcja glOrtho przyjmująca kolejno za parametry lewą prawą, dolną, górną, bliższą i dalszą płaszczyznę odcięcia. 23. Jakie czynniki fizyczne wpływają na wrażenie koloru? Podać ich interpretację na przykładzie wykresu energii światła w funkcji długości fali. Czynniki majace wplyw na wrazenie koloru: barwa - fizycznie okresla ja dlugosc fali swietlnej (zakres widzialnosci dla czlowieka wynosi od 400 do 700 nm).Barwa zalezy od wartosci na osi poziomej. jasnosc - okresla ja wielkosc energii zwiazanej z promieniowaniem (nie ma zadnych ograniczen – jesli jest bardzo duza, moze spowodowac uszkodzenie oka). Jasnosc zalezy od wartosci na osi pionowej. nasycenie - stosunek roznicy energii dla dominujacej fali swietlnej (e2) i wypadkowej energii dla wszystkich pozostalych dlugosci fali (e1) podzielona przez wartosc energii dla dominujacej fali swietlnej (e2), czyli (e2 – e1) / e2. Nasycenie (czystosc) barwy jest tym wieksze, im wieksza jest wartosc e2 w stosunku do e1. Dla e2 = e1 mamy nasycenie zerowe, gdy zas e1=0, nasycenie wynosi 100%. Nasycenie fizycznie odpowiada ilosci fal o roznej dlugosci skladajacych sie na dany kolor. Ponizszy rysunek przedstawia wykres rozkladu energii swiatla w funkcji dlugosci fal promieniowania widzialnego.

e2 - oznacza poziom dominujacej skladowej swiatla e1 - wypadkowy poziom wszystkich pozostalych, dajacych swiatlo biale Nasycenie (czystosc) barwy jest tym wieksze, im wieksza jest wartosc e2 w stosunku do e1. Dla e2 = e1 mamy nasycenie zerowe, gdy zas e1=0, wynosi ono 100%. Przecietnie czlowiek rozroznia ok. 150 czystych barw widma slonecznego 24. Omówić model koloru CIE La*b*. W jakim zakresie definiuje się parametry tego modelu Opracowany przez Miedzynarodowa Komisje Oswietleniowa (CIE) model barw CIE La*b* jest najwazniejszym modelem w odniesieniu do grafiki komputerowej. Opisywane barwy mieszaja sie w elipsoidzie o trzech prostopadlych osiach. Wzdluz osi a barwy przechodza od zielonej do czerwonej, wzdluz osi b od zoltej do niebieskiej, w punkcie zbiegu jest biel (szarosc). Wzdluz osi pionowej L okreslajacej jasnosc, biegna barwy achromatyczne - od bieli do czerni. Barwy objete w kuli CIE La*b* tworza najszersza game barw, model zostal opracowany na bazie modelu CIE Yxy. Zastosowana transformacja wspolrzednych umozliwia latwiejsze wyliczenie odleglosci pomiedzy dwoma barwami w przestrzeni. Kazdy inny model barw da sie opisac we wspolrzednych La*b*, ale nie na odwrot. Czyni to model ten niezaleznym od urzadzen wejscia/wyjscia. Model wykorzystywany jest do obliczen na barwach przez systemy zarzadzania barwami CMS. Zakres parametrów: a*,b*∈[-60;60] L∈[0;100] 25. Omówić modele RGB i CMY. Podać równanie konwersji RGB→CMY RGB – w systemie wykorzystane są 3 barwy podstawowe Red, Green, Blue. Odpowiadają one składowym koloru w monitorach rastrowych. Model ten może zostać przedstawiony jako sześcian o krawędzi jednostkowej. W punkcie (0,0,0) znajduje się barwa czarna, w punkcie (1,1,1) barwa biała. Osie odpowiadają odpowiednio barwom modelu RGB. Wierzchołki na osiach reprezentują barwy podstawowe, zaś wierzchołki przeciwległe barwy dopełniające. Jest to przykład systemu addytywnego, ponieważ mieszanie barw odbywa się poprzez dodawanie składowych w odpowiednich proporcjach. CMY – barwy podstawowe: cyjan, magenta, yellow. Odpowiadają one różnicy podstawowych barw systemu RGB. Składowe te nazywane są substraktywnymi, ponieważ usuwają składowe RGB z widma światła białego. RGB→CMY:

26. Omówić model koloru CMYK. Podać równanie konwersji CMY→CMYK Model CMYK jest rozszerzeniem modelu CMY o barwę czarną jest wykorzystywany szczególnie w urządzeniach drukujących. Dodanie barwy czarnej było konieczne z powodu iż suma barw systemu CMY nie daje barwy czarnej, a jedynie barwę szarą, lub popielatą. Konwersja CMY→CMYK:

k to współczynnik regulacji kontrastu z zakresu [0;1]. Z reguły przyjmuje się k=1.

27. Narysować i opisać model koloru HLS. W jakim zakresie definiuje się parametry tego modelu. 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 <H,L,S>, których wartości należą do przedziału <0, 1>. 28. Narysować i opisać model koloru HSV. W jakim zakresie definiuje się parametry tego modelu Model ten czesto nosi nazwe HSB, gdzie B oznacza jaskrawosc. Przedstawia sie go w postaci ostroslupa prawidlowego o podstawie szesciokatnej. Wierzcholki podstawy odpowiadaja barwom spektralnym, wierzcholek ostroslupa odpowiada barwie czarnej, a spodek wysokosci barwie bialej. Barwa mierzona jest katem β wokol osi V: �=0 dla barwy czerwonej; β=120 dla barwy zielonej; β=240 dla barwy niebieskiej. Barwe dopelniajaca do danej otrzymuje sie przez zwiekszanie β o 180. Wartosc nasycenia okresla wzgledna odleglosc punktu od pionowej osi , dla punktow lezacych na osi V wartosc nasycenia jest rowna zero, a dla punktow lezacych na trojkatnych scianach ostroslupa wartosc nasycenia wynosi jeden. Barwa ma najmniejsza wartosc V=0 w wierzcholku ostroslupa, maksymalna wartosc V=1 osiaga w punktach podstawy. Okreslanie barwy uzytkownik moze rozpoczac od podania kata � i V=S=1; wybiera on tym samym czysta barwe spektralna. Nastepnie sciemnia ja ( dodaje barwe czarna zmniejszajac odpowiednio wartosc V) lub rozjasnia ( dodaje barwe biala zmniejszajac wartosc nasycenia S).

29. Operacje w przestrzeni kolorów RGB zmiana jasnosci filtr kolorowy zwiekszenie kontrastu utrata ostrosci wygladzanie (smoothing) uwypuklenie (relief) redukcja liczby barw zmiana nasycenia zmiana barwy przejscie na obraz monochromatyczny progowanie fotoinwersja 30. Cieniowanie powierzchni metodą Gourauda 1) Wyznaczenie barwy w wierzchołkach wielokąta (np. trójkąta) - wyznaczenie wektorów normalnych do wszystkich wierzchołków jako średniej arytmetycznej wektorów normalnych wszystkich ścian, do których ten wierzchołek należy. - na podstawie wektora normalnego wyznaczenie barwy wierzchołka korzystając z wybranego modelu oświetlenia 2) Liniowa interpolacja barwy dla wszystkich punktów wielokąta zgodnie z wzorami:

AB

ADB

AB

DBAD yy

yyIyyyyII

−−

+−−

=

AC

AFC

AC

FCAF yy

yyIyyyyII

−−

+−−

=

DF

DEF

DF

EFDE xx

xxIxxxxII

−−

+−−

=

31. Cieniowanie powierzchni metodą Phonga Polega na interpolacji wektora normalnego dla każdego punktu wielokąta, a następnie na tej podstawie intensywności barwy. Pierwszy etap cieniowania jest dokładnie taki sam jak w metodzie Gourauda. Metoda ta jest 2x bardziej złożona obliczeniowo od metody Gourauda, przez co wykonanie tego

cieniowania jest wykonywane 2x dłużej. Zysk między tymi metodami jest widoczny dla powierzchni lustrzanych. 32. Podstawowy Empiryczny model oświetlenia - 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 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 fatt=min(1/(c1+c2dL+c3dL

2),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Θ. 33. 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 34. 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 Oznaczenia przyjęte w modelu Halla: a)obiekty nieprzeźroczyste b)obiekty przeźroczyste

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.

Równanie oświetlenia:

gtrgspecgdiftrspecdif IIIIIII λλλλλλλ +++++=

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 35. Równanie Renderingu Sformalizowanie zalozen dotyczacych modelu odbicia doprowadzily do powstania Rownania wizualizacji (renderingu – Kajiya 1986) Rownanie wizualizacji – propagacja energii swietlnej, oparte na rownaniu transferu ciepla i przeplywu energii droga promieniowania. Wielokrotne rozwiazanie rownania wizualizacji dla kazdego punktu powierzchni prowadzi do syntezy obrazu realistycznego:

∫+=S

dxxxIxxxxxxxgxxI ")",'()",',()',()[',()',( ρε

Gdzie: I(x, x’) – suma intensywnosci swiatla emitowanego i odbijanego w punkcie x’ w kierunku x g(x, x’) – czynnik geometryczny e(x, x’) – emisja swiatla z punktu x’ w kierunku x p(x, x’, x’’) – wspolczynnik odbicia kierunkowego swiatla I(x, x’) w punkcie x; kierunek padania swiatla okresla polozenie punktu x’’, natomiast kierunek odbicia wyznacza lokalizacje punktu x

C=C−k*min(C,M,Y) M=M−k*min(C,M,Y) Y=Y−k*min(C,M,Y) K=k*min(C,M,Y)