GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl 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. Początki grafiki komputerowej 1961- Sketchpad Ivan Sutherland (MIT) pierwszy system do rysowania przy pomocy komputera z piórem świetlnym 1961- Spacewar Steve Russell (MIT) pierwsza gra video (komputer PDP-1) t 1 (x, y) t 1 - chwila rozpoczę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 1963 - Simulation of a two-giro gravity attitude control system E. Zajac (Bell Telephone), pierwszy film animowany (komputer IBM 7090) 1
Wektorowy system wyświetlania wietlania obrazu Charakterystyka systemu wektorowego U x = U 0 cosωt U y U y = U 0 sinωt U x 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. Rastrowy system wyświetlania wietlania Charakterystyka systemu rastrowego Magistrala Ekran VIDEO RAM Sterownik graficzny piksel 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. 2
2. Grafika komputerowa a dziedziny pokrewne Grafika komputerowa obraz A=[a ij ] Przetwarzanie obrazu opis. sphere(x 0, y 0, z 0, r) Rozpoznawanie obrazu 3. Program kursu 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 w 3-D 3 D (siatki wieloboków, w, równania) r 6. Modele obiektów w 3-D 3 D (krzywe Hermita i Beziera) 7. Modele obiektów w 3-D 3 D (powierzchnie Beziera, spline,, NURBS) 8. Rzutowanie 9. Transformacje 3-D, 3 usuwanie elementów w niewidocznych 10. Modele oświetlenia o scen 11. Tekstura 12. Metoda śledzenia promieni ( (rayray tracing) 13. Metoda energetyczna 14. Podstawy teorii barw, modele liczbowe kolorów 15. Kolokwium zaliczeniowe Wizualizacja 2-D Zagadnienia wizualizacji 2-D Narysowanie obrazu wyświetlanego w systemie rastrowym. Obiekty opisane w geometrii płaszczyzny R 2 trzeba narysować na płaszczyźnie N 2. Nie zawsze jest to takie proste jak pozornie może się wydawać. Proste w R 2 przecinają się w jednym punkcie a ich obrazy narysowane w N 2 w trzech punktach. rysowanie dyskretnego obrazu odcinka rysowanie dyskretnego obrazu łuku okręgu wypełnianie wieloboku wypełnianie konturu transformacje elementarne w przestrzeni 2-D2 współrzędne jednorodne składanie transformacji, transformacje złożone ogólna procedura wizualizacji 2-D2 algorytm obcinania ( (clipping) 3
Wizualizacja 3-D Wygenerowanie obrazu w maksymalnym stopniu przypominającego to, co widzimy patrząc na świat realny. budowa modelu sceny 3-D3 rzutowanie usuwanie elementów niewidocznych generacja efektów wynikających z oświetlenia teksturowanie metody zaawansowane ( (rayray tracing, radiosity) Modele obiektów 3-D modele szkieletowe modele w postaci równań matematycznych konstrukcyjna geometria bryłowa (solid modeling) modele wykorzystujące geometrię frakatalną inne modele Modele szkieletowe e ( (wire frame representation) Modele w postaci równań analitycznych V 1, V 2, - wierzchołki (vertex) E 1, E 2, - krawędzie (edge) S 1, S 2, - ściany (polygon-surface) równanie uwikłane ( x, y,z) 0 f = równania parametryczne (powierzchnie( Beziera, B-spline, NURBS), x = f y = f z = f x( u,v) y( u,v) ( u,v) z 0 u,v 1 4
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 q j+ 1 = q j + qc q0 dane Rzutowanie (projection) rzutnia (ekran) obiekt Usuwanie z obrazu elementów niewidocznych Wielobokom siatki modelu szkieletowego przypisano kolory a następnie usunięto z obrazu elementy niewidoczne dla a. obiekt rzutnia (ekran) Rzut perspektywiczny Na ekranie pojawi się siatka linii, odpowiadających wszystkim krawędziom modelu szkieletowego. algorytm sortowania ścian algorytm z-buforaz 5
Oświetlenie sceny Wprowadzono źródło światła i przypisano wielobokom siatki charakterystyki świetlne powierzchni. rzutnia (ekran) źródło światła Tekstura Wielobokom siatki przypisano bardziej subtelne charakterystyki powierzchni (teksturę). rzutnia (ekran) źródło światła chropowatość źródła rozproszone źródła punktowe powierzchnie matowe powierzchnie lustrzane obiekty przezroczyste generacja tekstury odwzorowania geometryczne tekstur filtracja tekstur Metoda śledzenia promieni ( (ray-tracing) źródło światła obiekt 2 obiekt 1 ekran piksel ( x p, y p ) 6