odpowiedzi do pytań 1


1. 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

2a.Właściwości standardu 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.

  • 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

    2b. Właściwości standardu 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.

    Standard PHIGS+ to rozszerzenie standardu PHIGS:

    zmiana barwy w funkcji odległości (efekt głębi przestrzennej)

    3. Formy danych obrazowych

    KLASA I (obrazy monochromatyczne i kolorowe)

    KLASA II (obrazy binarne)

    KLASA III (linie proste i krzywe)

    Przykłady: kontury obszarów, wykresy, krzywe nieregularne

    Reprezentacja danych:

    1. współrzędne X i Y kolejnych punktów

    2. przyrosty ΔX i ΔY

    3. kody łańcuchowe, w których wektor łączący dwa kolejne punkty jest określony jednym symbolem ze skończonego zbioru symboli

    0x01 graphic

    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

    1. 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

    2. SYMBOL

      KOD

      0

      +1

      -1

      +2

      -2

      +3

      -3

      4

      0

      01

      011

      0111

      01111

      011111

      0111111

      01111111

      Taki sposób kodowania wymaga średnio nie więcej niż dwóch bitów na punkt. Przykładowo:

      KLASA IV (Punkty i wieloboki)

      4. Przedstawić za pomocą algorytmu zasadę wyznaczania histogramu obrazu

      char image[M][N];

      int histogram[256];

      int row,col,i;

      for (i=0; i<256; i++) histogram[i]=0; \* wyzerowanie tablicy histogramu *\

      for (row=0; row<M; row++)

      for (col=0; col<N; col++)

      histogram[(int) image[row,col]]++;

      inny:

      - f(P) jest wartością elementu P w przedziale [0,L]

      - H jest tablicą histogramu

        1. Wstaw do tablicy H(Z) (0 ≤ Z ≤ L) wartość 0.

        2. FOR wszystkie elementy P obrazu DO

      BEGIN

      INC H(f(P))

      END

        1. Koniec algorytmu

      5. 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<L, 0<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

      6. Metoda poprawy jakości obarazu poprzez modelowanie histogramu.

      Modelowanie histogramu ma na celu poprawe jakosci obrazu. Obejmuje procesy:

      1. rozciagania histogramu;

      2. wyrównywania histogramu;

      3. normalizacji histogramu.

      Procesy te przedstawic mo_na jako transformacje punktowe obrazu.

      Rozciaganie histogramu

      Operacji rozciagania histogramu dokonuje sie wówczas, gdy nie pokrywa on całego zakresu poziomów jasnosci - na histogramie nie wystepuja bardzo ciemne i bardzo jasne składowe. Rozciaganie histogramu polega na takiej konwersji poziomów jasnosci obrazu wejsciowego, by rozkład poziomów jasnosci na histogramie obrazu wyjsciowego obejmował

      wszystkie poziomy jasnosci.

      Wyrównywanie histogramu

      Celem wyrównania histogramu obrazu jest uzyskanie mo_liwie równomiernego rozkładu poziomów jasnosci obrazu dla całego jego zakresu. Skutkiem wyrównania histogramu jest poprawa kontrastu obrazu.Wyrównanie histogramu pozwala na podkreslenie w obrazie tych

      szczegółów, które sa mało widoczne z powodu niewielkiego kontrastu. Nie jest to metoda uniwersalna i w przypadku histogramów o okreslonym kształcie nie daje zadowalajacych rezultatów.

      Normalizacja histogramu

      Operacja normalizacji histogramu zmienia zakres zmiennosci poziomów jasnosci obrazu wyjsciowego.

      7. Metoda poprawy jakości obrazu poprzez korekcję tonalną.

      Operacje punktowe to takie, dla których wynik operacji dla ka_dego pikselu obrazu zale_y tylko od jego wartosci. Operacje punktowe nie uwzgledniaja przestrzennych zale_nosci miedzy elementami obrazu. Operacje punktowe wyra_a sie przy pomocy dwukolumnowych macierzy zwanych LUT (Look Up Tables). W pierwszej kolumnie macierzy znajduja sie wartosci jasnosci wystepujace w obrazie. Dla obrazu 8 bitowego beda to liczby od 0 do 255. W drugiej kolumnie znajduja się wartosci wyjsciowe, odpowiadajace według zadanego przekształcenia wartosciom pierwotnym. Wynik transformacji obrazu otrzymywany jest

      przez podstawienie w miejsce oryginalnych poziomów jasnosci, wartosci wyjsciowych, które wynikaja z LUT. Macierze LUT sa czesto opisywane równaniem funkcji, krzywa odwzorowania tonów.

      Korekcja tonalna jest przykładem operacji punktowej. W wyniku korekcji tonalnej wykonac mo_na:

      - rozjasnienie obrazu;

      - przyciemnienie obrazu;

      - obni_enie kontrastu;

      - zwiekszenie kontrastu.

      8. Metoda poprawy jakości obrazu poprzez filtrowanie przestrzenne.

      W metodach filtrowania przestrzennego przetwarzaniu podlega bezposrednio funkcja jasnosci (obraz jest reprezentowany jako macierz poziomów jasnosci). Funkcje działajaca na obraz wejsciowy mo_na opisac wyra_eniem:

      g(x, y) T f (x, y) gdzie:

      f(x,y) - funkcja reprezentujaca obraz wejsciowy;

      g(x,y)- funkcja reprezentujaca obraz przetworzony;

      T - operator lokalny działajacy na okreslonym obszarze obrazu np.: (3x3, 5x5 lub 7x7 pikseli).

      Wartosc jasnosci piksela obrazu wyjsciowego obliczana jest na podstawie jasnosci pikseli obrazu wejsciowego le_acych w bezposrednim sasiedztwie danego piksela. W metodach tych definiowana jest maska, która przemieszcza sie w obrebie obrazu z krokiem równym odstepowi miedzy pikselami i zgodnie z definicja operatora T wyznaczana jest nowa

      wartosc g(x,y) dla ka_dego piksela obrazu.

      9. Co to jest segmentacja obrazu? Omówić metody segmentacji obrazu

      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.

      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 0x01 graphic

      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.

      10. 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.

      11. 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

      1. Horizontal Line Rate HFreq [kHz]

      2. Horizontal Synchronization Width HSync [μs]

      3. Horizontal Back HBack [μs]

      4. Horizontal Front HFront [μs]

      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic

      0x08 graphic

      0x08 graphic

      0x08 graphic

      0x08 graphic

      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]

      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic

      0x08 graphic

      0x08 graphic

      0x08 graphic

      0x08 graphic

      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.

      0x08 graphic
      0x08 graphic
      0x08 graphic

      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic

      0x08 graphic
      0x08 graphic

      0x08 graphic
      0x08 graphic

      0x08 graphic

      0x08 graphic

      0x08 graphic

      13. Standardy elektryczne przesyłania sygnałów synchronizacji

      SEPARATE SYNC. (Sygnały HSync i VSync przesyłane oddzielnymi kablami. Poziomy elektryczne zgodnie ze standardem TTL.)

      0x08 graphic
      0x01 graphic

      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)

      0x08 graphic
      0x01 graphic

      COMPOSITE SYNC & VIDEO (SYNC. ON GREEN) (Analogowe przesyłanie sygnału wizji. Sygnał jest mniej podatny na zakłócenia. Poziomy logiczne analogowe.)

      0x01 graphic

      0x08 graphic

      0x01 graphic
      0x01 graphic
      0x01 graphic

      14. Wyznaczyć minimalną częstotliwość zegara VCLK taktującego generowanie w trybie kolejnoliniowym pixeli obrazu o rozdzielczości 1280x1024. Częstotliwość odświeżania obrazu wynosi 50Hz, a czasy wygaszania HBlank=2μs Blank VBlank=1ms.

      Uwaga

      zegar pixeli ----> VCLK=VBW (Video Band Width) <---- szerokość pasma wizyjnego video

      HSync0x01 graphic
      80%*HBlank

      VSync0x01 graphic
      80%*VBlank

      Dane:

      VFreq=50Hz

      VBlank=1ms

      HBlank=2μs

      L=1280 pixeli

      K=1024 pixeli

      Wzory

      0x01 graphic

      Rozwiązanie:

      VFreq=(VActive + VBlank)-1 => VActiv=VFreq-1 -VBlank = 19ms (1)

      VActive/K = HFreq-1 (2)

      VActive/K = HVideo + HBlank => HVideo = VActiv/K - HBlank =16.554μs (3)

      Z równań (3) i (1)

      HVideo = (VFreq-1 -VBlank)/K - Blank (4)

      VBW = 1/(HVideo/L) = L/HVideo (5)

      Z równań (4) i (5)

      VBW = L/((Vfreq-1 -Vblank)/K - Hblank)

      Jednostki się zgadzają a po podstawieniu danych wychodzi: VBW=77.319 MHz

      16a. Zasada działania projektora CRT (Cathode Ray Tube)

      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.

      16b. Zasada działania projektora 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.

      17. Algorym Bresenhama kreślenia odcinka.

      Rysowanie odcinka metoda Bresenhama opiera sie na zmiennej decyzyjnej, której znak decyduje o kolejnym kroku algorytmu. Zmienna okresla kierunek poziomy, pionowy lub idealnie skosny rysowania kolejnego piksela odcinka. Algorytm działa na liczbach całkowitych. Zało_enia:

      - odcinek okreslony przez współrzedne poczatku i konca (x0 ,y0) i (xk ,yk);

      - x0 < xk ;

      - współczynnik kierunkowy odcinka spełnia nierównosc: 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 przedziału [0, 45], wiec po znalezieniu kolejnego Pi = (xi ,yi) nastepny piksel wybieramy z posród tylko dwóch: Si+1= (xi+1, yi) i Ti+1= (xi+1, yi+1)

      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. Algorym Bresenhama kreślenia okregu.

      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.

      19. Algorytm wypełniania obszaru przez sianie.

      Algorytm wypełniania przez sianie

      - 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.

      20. Algorytm wypełniania wielokątów.

      Zało_enie:

      - obszar jest okreslony analitycznie jako trapez, o podstawach równoległych do osi x;

      - płaszczyzna rysunku opisana bedzie współrzednymi pikselowymi;

      - wierzchołki trapezu maja współrzedne rzeczywiste, nie pokrywajace się ze srodkami pikseli

      Niech: ymin = Int(y1); ymax = Int(y3);

      gdzie: Int(r) - zaokraglenie 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 nastepujacy:

      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_ace na tej linii

      od Int(xl) do Int(xp);

      end.

      21. Modelowanie powierzchni metodą 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, 0x01 graphic
      i 0x01 graphic
      . 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.

      22,23,24. Aproksymacyjne metody wykorzystywane do modelowania krzywych i powierzchni nieregularnych.

      Linie i powierzchnie w przestrzeni 3D są określone zbiorem punktów o współrzędnych <x, y, z>. Numeryczne metody opisu na podstawie zdefiniowanych punktów klasyfikowane są na dwie kategorie: metody interpolacyjne i metody aproksymacyjne. Linia lub powierzchnia utworzona jest metodą aproksymacyjną, jeżeli przechodzi blisko lecz niekoniecznie przez punkty definiujące. Krzywe opisane metodami aproksymacyjnymi mają ciągłość drugiego stopnia. W metoda interpolacyjnych krzywe przechodzą przez definiujące punkty.

      Metody aproksymacyjne klasyfikuje się na:

      - metody minimalizujące odległość pomiędzy punktami definiującymi a punktami na krzywej lub powierzchni określonej przez te punkty

      - metody oparte na punktach charakterystycznych linii lub powierzchni tzw. punktach kontrolnych (wiodących). Metody są bardzo przydatne w grafice komputerowej, ponieważ umożliwiają w prosty sposób modyfikację kształtu modelowanej krzywej lub powierzchni

      Aproksymacyjne metody modelowania krzywych i powierzchni

      22. 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

      23. 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

      24. 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 B-sklejane i β-sklejane umożliwiają lokalną kontrolę kształtu tworzonej krzywej lub powierzchni. W przypadku funkcji B-sklejanych 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, B-sklejane, ß-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 B-sklejanych 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 0x01 graphic
      krzywa jest symetryczna

      -0x01 graphic
      0x01 graphic
      krzywa jest przechylona w lewo

      -0x01 graphic
      0x01 graphic
      krzywa jest przechylona w prawo

      - *2=0 0x01 graphic
      krzywa jest normalnie napięta

      - *2>0 0x01 graphic
      krzywa zbliża się do łamanej kontrolnej

      28,29,30. Metody modelowania brył.

      28. Drzewa ósemkowe (octrees)

      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.

      30. 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

      29. 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ść 0x01 graphic
      . 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, sklaowanie).

      Bryły opisane są za pomocą hierarchicznej, trójpoziomowej struktury składającej się z elementów takich jak ściany, krawędzie i wierzchołki. Zakłada się, że każda bryła ograniczone jest powierzchnią złożoną z płaskich wielokątnych ścian, każda ściana określona jest zbiorem swoich krawędzi, każda krawędź jest zdefiniowana za pomocą pary wierzchołków.

      31,32. Przekształcenia geometryczne w przestrzeni 2D i 3D

      Przekształcenia geometryczne w przestrzeni 2D i 3D odnoszą się do modyfikacji następujących atrybutów obiektu (lokalizacja, orientacja, rozmiar):

      Przekształcenia te zwane są transformacjami punktowymi, ponieważ realizowane są na każdym punkcie obiektu.

      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.

      Zasada składania przekształceń polega na wymnażaniu macierzy przekształceń jednostkowych, czyli macierz np.

      0x01 graphic

      35. Model procesu rzutowania 3D.

      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x01 graphic

      Definiowanie okna zobrazowania

      36. Rzuty perspektywiczne i ortogonalne.

      Rzuty ortogonalne są najprostszym rodzajem rzutów, dla którego obraz punktu jest śladem normalnej do płaszczyzny rzutowania przechodzącej przez ten punkt. Jeżeli płaszczyzną rzutowania jest XY wówczas współrzędnej Z przypisuje się wartość 0. Macierz opisująca taki rzut wygląda następująco:

      0x01 graphic

      Tego typu rzutowanie określa się stosując prostokątną lub sześcienną bryłę rzutowania. Nic, co znajduje się poza tą bryłą nie jest rzutowane. Bryłę rzutu określa się podając bliższą, dalszą, lewą, prawą, górną i dolną płaszczyznę obcinania. Rzuty te łatwo uzyskać jednak nie dają one obrazów realistycznych chyba, że obserwator znajduje się daleko od obiektu. Ten rodzaj rzutowania stosuje się w projektowaniu architektonicznym i programach CAD.

      Rzut perspektywiczny nadaje realizm symulacjom i animacjom oraz imituje wrażenie głębi obrazu. Wielkość rzutu obiektu jest odwrotnie proporcjonalna do odległości obiektu od środka rzutowania. Rzuty tego typu nie nadają się jednak do rejestrowania kształtu obiektu i dokonywania pomiarów (np. kąty na ogół nie są zachowywane). Punkt zbieżności dla pęku prostych równoległych do danej osi układu współrzędnych, określamy jako osiowy punkt zbieżności. W zależności od liczby istniejących osiowych punktów zbieżności rozróżniamy rzuty jedno-, dwu- i (rzadko stosowane) trzy-punktowe. Liczba osiowych punktów zbieżności zależy od tego ile osi układu współrzędnych przecina rzutnia. Jeżeli punkt centralny leży na ujemnej części osi Z i ma współrzędne <0,0,Cz>, a płaszczyzną rzutowania jest XY, wówczas naszym obrazem punktu V=<Vx,Vy,Vz> jest punkt W=<Wx,Wy,0>, gdzie

      0x01 graphic
      0x01 graphic
      , 0x01 graphic

      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.

      0x08 graphic
      Poniższy rysunek przedstawia wykres rozkładu energii światła w funkcji długości fal promieniowania widzialnego.

      P(λ)

      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic
      0x08 graphic

      e2 dominująca

      długość fali

      e1

      λ

      400 700 [nm]

      fiolet czerwony

      e2 - oznacza poziom dominującej składowej światła

      e1 - wypadkowy poziom wszystkich pozostałych, dających światło białe

      Komentarz dodatkowy:

      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 otrzy­mywania barw w wyniku dodawania (mieszania) w różnych proporcjach trzech barw podstawowych.

      0x08 graphic

      0x08 graphic

      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.

      0x08 graphic

      Równanie konwersji RGB CMY

      0x08 graphic

      0x08 graphic

      39. Narysować i omówić 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.

      0x01 graphic

      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>.

      40. Narysować i omówić model koloru HSV. W jakim zakresie definiuje się parametry tego modelu.

      Model zaproponowany przez Smitha, a znany jako model HSV od angielskich określeń barwy (H), nasycenia (S) i wartości (V) (ang. Hue, Saturation, Value). Model ten często nosi nazwę HSB, gdzie B oznacza jaskrawość (ang. Brightness). Przedstawia się go w postaci ostrosłupa prawidłowego o podstawie sześciokątnej. Wierzchołki podstawy odpowiadają barwom spektralnym, wierzchołek ostrosłupa odpowiada barwie czarnej, a spodek wysokości barwie białej. Barwa mierzona jest kątem β wokół osi V, β=0˚ dla barwy czerwonej, β=120˚ dla barwy zielonej i β=240˚ dla barwy niebieskiej. Barwę dopełniającą do danej otrzymuje się przez zwiększenie β o 180˚. Wartość nasycenia określa względna odległość punktu od pionowej osi; dla punktów leżących na osi V wartość nasycenia jest równa zeru, a dla punktów leżących na trójkątnych ścianach ostrosłupa wartość wynosi jeden.

      Barwa ma najmniejszą wartość (jaskrawość) V=0 w wierzchołku ostrosłupa, maksymalną wartość V=1 w punktach podstawy.

      0x08 graphic

      Określenie barwy użytkownik może rozpocząć od podania kąta β i V=S=1; wybiera on tym samym czystą barwę spektralną. Następnie ściemnia ją (dodaje barwę czarną zmniejszając odpowiednio wartość V) i/lub rozjaśnia (dodaje barwę białą zmniejszając wartość nasycenia S).

      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

      • filtr kolorowy

      • zwiększenie kontrastu

      • utrata ostrości

      • wygładzanie (smoothing)

      • uwypuklenie (relief)

      • progowanie

      • fotoinwersja

      42,43,44,45. Modele oświetlenia: podstawowy model empiryczny, model Phonga, model Halla, rówanie renderingu.

      Modele oświetlenia definiują intensywność światła emitowanego i odbijanego w kierunku obserwatora w danym punkcie powierzchni obiektu na podstawie charakterystyki intensywności światła padającego i właściwości optycznych powierzchni. Modele lokalne uwzględniają jedynie wpływ pierwotnych źródeł światła na oświetlenie powierzchni, natomiast modele globalne uwzględniają pierwotne i wtórne źródła światła.

      42. PODSTAWOWY MODEL EMPIRYCZNY

      Właściwości powierzchni lambertowskich:

      0x01 graphic

      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+c3dL2),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 =IakaOd+fattIpkdOd cosΘ.

      MODEL PHONGA

      0x01 graphic

      Równanie oświetlenia:

      0x01 graphic

      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

      0x01 graphic

      gdzie:

      m - liczba źródeł światła

      MODEL HALLA

      Oznaczenia przyjęte w modelu Halla:

      a)obiekty nieprzeźroczyste b)obiekty przeźroczyste

      0x01 graphic
      0x01 graphic

      0x01 graphic

      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:

      0x01 graphic

      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

      0x01 graphic

      0x01 graphic

      46,47. Metody modelowania oświetlenia: metoda śledzenia promieni, metoda bilansu promieniowania.

      ŚLEDZENIE PROMIENI (Whitted 1980)

      - 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

      0x01 graphic

      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:

      - modelowanie oświetlenia tylko w obszarze generowanej sceny

      - konieczność powtarzania obliczeń dla danej sceny przy zmianie położenia obserwatora

      - 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)

      BILANS PROMIENIOWANIA

      Kolejne fazy metody:

      1. 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 symulacji

      - wyznaczenie współczynników sprzężenia między wszystkimi powierzchniami elementarnymi

      1. Definicja bilansu promieniowania dla każdej powierzchni elementarnej

      0x01 graphic
      (*)

      Bi - promienność i-tej powierzchni elementarnej

      Ei - natężenie światła emitowanego przez i-tą powierzchnię

      0x01 graphic
      - 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

      0x01 graphic

      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.

      1. 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

      5

      HSync

      HBack

      HFront

      Rysowanie pikseli na ekranie

      1 linia Video (L pixeli)

      HBlank

      1/HFreq

      VSync

      VBack

      VFront

      K linii Video (VActive)

      Wyzwalane są impulsy sygnału Horizontal

      VBlank

      1/VFreq

      Horizontal

      Vertical

      Wyzwalanie rysowania wierszy

      Sync. Polarity:Positive/Negative

      Sync. Polarity:Positive/Negative

      Sync. Polarity: Negative (0.3 Vp-p)

      Video 0.7 Vp-p Positive

      0x01 graphic

      object coordinates

      window coordinates

      normalized device coordinates

      clip coordinates

      eye coordinates

      0x01 graphic

      Yellow

      0x01 graphic

      C = 1 - R

      M = 1 - G

      Y = 1 - B

      Blue

      0.0

      Black

      H

      S

      White

      1.0

      Magenta

      Red

      Yellow

      Cyan

      Blue

      240˚

      120˚

      Green

      V



      Wyszukiwarka

      Podobne podstrony:
      cw 16 odpowiedzi do pytan id 1 Nieznany
      nom kol 2 odpowiedzi do pytan i Nieznany
      BHP odpowiedzi do pytan rozporządzenie 2008
      Klucz odpowiedzi do pytań testowych
      egzamin odpowiedzi do pytan, Wykłady, Usługi w biznesie, Międzynarodowe Stosunki Gospodarcze, MSG, M
      Odpowiedzi do pytan@ 52
      msg odpowiedzi do pytan, MSG pytania z roku 2002, 1
      Wstęp do Religioznawstwa - egzamin, odpowiedzi Inne odpowiedzi do pytań ze skyptu 2
      Biofizyka Odpowiedzi do pytan egzamin 2009 3
      ODPOWIEDZI DO PYTAN pożarowe
      BHP - materiały z roku wyżej, odpowiedzi do pytan z testów
      Krajoznawstwo odpowiedzi do pytań
      Odpowiedzi do pytań na egzamin z przedmiotu Nauka o państwie i prawie
      Odpowiedzi do pytań z KUE
      Fizjologia - układ oddechowy - odpowiedzi do pytań z kolokwium, II rok, II rok CM UMK, Fizjologia, F
      rozsypanki i dobór odpowiedzi do pytań - litery j, klasa 1
      WSP- Odpowiedzi do pytan egzaminacyjnych - Kopia, Dokumenty - Bezpieczeństwo Narodowe, 2 semestr (AR
      odpowiedzi do pytań

      więcej podobnych podstron