WPROWADZENIE DO GRAFIKI KOMPUTEROWEJ Dr inż.. Jacek Jarnicki Doc. PWr. Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl 1. Układ przedmiotu semestr VI - 20200 2. Literatura J. D. Foley,, A. van Damm i inni: Wprowadzenie do grafiki komputerowej. WNT Warszawa 1995. Grafika komputerowa metody i narzędzia, pod red. Jana Zabrodzkiego: : WNT Warszawa 1994. IEEE Computer Graphics and Application. Plan wykładu 1. Początki grafiki komputerowej 2. Grafika komputerowa a dziedziny pokrewne 3. Omówienie programu przedmiotu 1
1. Początki grafiki komputerowej 1961- Sketchpad Ivan Sutherland (MIT) pierwszy system do rysowania przy pomocy komputera z piórem świetlnym t 1 (x, y) t 1 - chwila rozpoczęcia cia wybierania ramki obrazu fotoelement t 2 - chwila zarejestrowania plamki przez czujnik pióra x = f x (t 2 -t 1 ) y = f y (t 2 -t 1 ) t 2 do komputera 1961- Spacewar Steve Russell (MIT) pierwsza gra video (komputer PDP-1) 1963 - Simulation of a two-giro gravity attitude control system E. Zajac (Bell Telephone), pierwszy film animowany (komputer IBM 7090) 2
Wektorowy system wyświetlania wietlania obrazu U x =U 0 cosωt U y U y =U 0 sinωt U x Charakterystyka systemu wektorowego rozdzielczość - bardzo duża a (4096x4096), linie ciągłe, cienkie, złożoność obrazu - ograniczona czasem poświaty ekranu, wypełnianie konturów - trudne, kolor - brak, cena - bardzo wysoka. 3
Rastrowy system wyświetlania wietlania Magistrala Ekran VIDEO RAM Sterownik graficzny piksel Charakterystyka systemu rastrowego rozdzielczość - duża a (np.( 1280x1024 1024), linie schodkowe, złożoność obrazu bardzo duża, wypełnianie konturów - łatwe, kolor szeroko dostępny pny, cena - niska. 4
2. Grafika komputerowa a dziedziny pokrewne Przetwarzanie obrazu obraz A=[a ij ] Grafika komputerowa Rozpoznawanie obrazu opis. sphere(x 0, y 0, z 0, r) 3. Program przedmiotu 1. Wstęp 2. Rasteryzacja (rysowanie odcinka i łuku) 3. Wypełnianie konturów 4. Transformacje i ogólna procedura wizualizacji 2-D2 5. Modele obiektów 3-D 3 D (siatki wieloboków, w, równania) r 6. Modele obiektów 3-D 3 D (krzywe Hermita i Beziera) 7. Modele obiektów 3-D 3 D (powierzchnie Beziera, spline,, NURBS) 8. Rzutowanie 9. Transformacje 3-D, 3 usuwanie elementów niewidocznych 10. Modele oświetlenia o scen 11. Tekstura 12. Metoda śledzenia promieni (ray( tracing) 13. Metoda energetyczna 14. Podstawy teorii barw, modele liczbowe kolorów 5
Wizualizacja 2-D Narysowanie obrazu wyświetlanego wietlanego w systemie rastrowym. Obiekty opisane w geometrii płaszczyzny p R 2 trzeba narysować na płaszczyp aszczyźnie N 2. Nie zawsze jest to takie proste jak pozornie może e się wydawać. Proste w R 2 przecinają się w jednym punkcie a ich obrazy narysowane w N 2 w trzech punktach. Zagadnienia wizualizacji 2-D rysowanie dyskretnego obrazu odcinka rysowanie dyskretnego obrazu łuku okręgu wypełnianie wieloboku wypełnianie konturu transformacje elementarne w przestrzeni 2-D2 współrz rzędne jednorodne składanie transformacji, transformacje złożonez one ogólna procedura wizualizacji 2-D2 algorytm obcinania (clipping( clipping) 6
Wizualizacja 3-D Wygenerowanie obrazu w maksymalnym stopniu przypominającego to, co widzimy patrząc c na świat realny. budowa modelu sceny 3-D3 rzutowanie usuwanie elementów niewidocznych generacja efektów wynikających z oświetleniao teksturowanie metody zaawansowane (ray( tracing, radiosity) Modele obiektów 3-D modele szkieletowe modele w postaci równar wnań matematycznych konstrukcyjna geometria bryłowa (solid modeling) modele wykorzystujące geometrię frakatalną inne modele 7
Modele szkieletowe e (wire( frame representation) V 1, V 2, - wierzchołki (vertex) E 1, E 2, - krawędzie (edge) S 1, S 2, - ściany (polygon-surface) Modele w postaci równar wnań analitycznych równanie uwikłane f ( x,y,z) = 0 równania parametryczne (powierzchnie( Beziera, B-spline, NURBS), x = f y = f z= f x y z ( u, v) ( u, v) ( u, v) 0 u, v 1 8
Konstrukcyjna geometria bryłowa (solid modeling) Modele fraktalne (przykład) Kwaternion ogólniejsza liczba zespolona. q = q (0) + i q (1) + j q (2) + k q (3) 2 qj+ 1 = q j + qc q0 dane 9
Rzutowanie (projection) obiekt rzutnia (ekran) obserwator Rzut perspektywiczny Na ekranie pojawi się siatka linii, odpowiadających wszystkim krawędziom modelu szkieletowego. Usuwanie z obrazu elementów w niewidocznych Wielobokom siatki modelu szkieletowego przypisano kolory a następnie usunięto z obrazu elementy niewidoczne dla obserwatora. obiekt rzutnia (ekran) obserwator algorytm sortowania ścian algorytm z-buforaz 10
Oświetlenie sceny Wprowadzono źródło światła a i przypisano wielobokom siatki charakterystyki świetlne powierzchni. źródło światła rzutnia (ekran) obserwator źródła a rozproszone źródła a punktowe powierzchnie matowe powierzchnie lustrzane obiekty przezroczyste Tekstura Wielobokom siatki przypisano bardziej subtelne charakterystyki powierzchni (teksturę). źródło światła chropowatość rzutnia (ekran) obserwator generacja tekstury odwzorowania geometryczne tekstur filtracja tekstur 11
Metoda śledzenia promieni (ray( ray-tracing) źródło światła obiekt 2 obiekt 1 ekran piksel ( x p, y p ) obserwator Dwa obiekty, kula i płaszczyzna 12