Informacje wstępne

Grafika komputerowa jest obecnie obszerną dziedziną wiedzy, która obejmuje wiele zagadnień natury teoretycznej i algorytmicznej i która znajduje praktyczne zastosowania niemal wszędzie tam gdzie są stosowane komputery. Spośród najbardziej rozpowszechnionych zastosowań można wymienić następujące: realizacja interfejsów graficznych w komputerach, wizualizacja danych (poczynając od prostych wykresów słupkowych czy kołowych, a kończąc na zaawansowanych metodach wykorzystywanych w symulacjach naukowych), tworzenie wszelkiego rodzaju ilustracji dwuwymiarowych (2D) oraz scen trójwymiarowych (3D), tworzenie obrazów fotorealistycznych, wizualizacja w systemach wspomagania projektowania, zastosowania multimedialne, wizualizacja w systemach sztucznej rzeczywistości, sztuka komputerowa itd.

Podstawowym zadaniem grafiki komputerowej jest tworzenie obrazów, które są wyświetlane na ekranie komputera i mogą być reprodukowane innymi metodami, na przykład za pomocą drukarek bądź urządzeń poligraficznych. Współczesne metody wyświetlania obrazów wymagają by obraz przed wyświetleniem był przedstawiony w postaci matrycy pikseli. Oznacza to, że obrazy są generowane na bazie skończonej liczby punktów barwnych. Pociąga to za sobą konieczność korzystania z odpowiednich algorytmów, które pozwalają tworzyć obrazy przy takim ograniczeniu.

Tworzone obrazy w większości przypadków powinny być podobne do obrazów, które oglądamy w życiu codziennym. Tworzone obrazy powinny być zgodne z naszą intuicją. Powinny one prawidłowo odzwierciedlać obiekty widoczne dla obserwatora przy uwzględnieniu warunków oświetlenia.

Grafika komputerowa jest silnie powiązana z przetwarzaniem obrazów. O ile w grafice chodzi o tworzenie nowych obrazów, to w przetwarzaniu obrazów istniejący obraz jest poddawany odpowiednim operacjom, które pozwalają uzyskać inną postać tego obrazu. Metody przetwarzania obrazów często wspomagają metody grafiki komputerowej, ułatwiając uzyskanie pożądanego obrazu końcowego.

Poszczególne wykłady składające się na niniejszy kurs pozwalają poznać kolejno najistotniejsze zagadnienia związane z grafiką komputerową. Na początku przedstawiono podstawowe problemy dla techniki rastrowej. Omówiono metody cyfrowej reprezentacji obrazu (wykład II) oraz metody wyświetlania obrazów na monitorach CRT oraz LCD (wykład III). Następne dwa wykłady (IV i V) poświęcono problemowi barwy w grafice komputerowej. Wyjaśniono podstawowe pojęcia oraz problemy związane z percepcją barwy. Omówiono również najważniejsze modele barw stosowane w grafice komputerowej. Te pierwsze cztery wykłady stanowią bazę, której poznanie i zrozumienie jest konieczne dla każdego, kto chce zajmować się grafiką komputerową.

Kolejne trzy wykłady poświecono grafice 2D, a więc metodom tworzenia obrazów dwuwymiarowych. Wykład VI prezentuje podstawowe algorytmy rysowania odcinków i okręgów oraz do wypełniania figur itd. na bazie rastra. W wykładzie VII przedstawiono wybrane metody istotne z punktu widzenia grafiki wektorowej, w tym przekształcenia geometryczne oraz metody obcinania. Omówiono również krzywe Béziera. Z kolei wykład VIII pozwala zapoznać się z wybranymi narzędziami jakie spotyka się w programach graficznych bitmapowych i wektorowych.

Wykłady od IX do XII poświęcono grafice 3D. Pierwszy z tych wykładów omawia metody modelowania obiektów 3D oraz scen zawierających te obiekty, natomiast pozostałe trzy wykłady poświęcono metodom renderingu, a więc metodom, które umożliwiają wyświetlenie opracowanych modeli obiektów lub scen na ekranie, z uwzględnieniem efektów związanych z oświetleniem. W wykładach X i XI omówiono zagadnienia rzutowania, eliminowania elementów niewidocznych oraz cieniowania. Natomiast wykład XII poświęcono metodzie śledzenia promieni. Metoda ta pozwala tworzyć obrazy o bardzo dobrej jakości.

Wszystkie wcześniej omawiane metody umożliwiały tworzenie pojedynczych obrazów. Wykład XIII prezentuje zagadnienia związane z tworzeniem sekwencji obrazów. Omówiono typowe problemy spotykane w animacji komputerowej.

Wykład XIV prezentuje podstawowe metody z zakresu przetwarzaniu obrazów.

Utworzone obrazy przechowywane są w plikach o specjalnych formatach umożliwiających najczęściej stosowanie kompresji. Wybrane formaty plików oraz metody kompresji obrazów prezentuje wykład XV.

Ostatni wykład XVI zawiera podsumowanie kursu. Zamieszczono tam również krótki przegląd bogatego oprogramowania graficznego. Podano także przykładowe tematy egzaminacyjne.

Po każdym wykładzie podano kilka pytań i problemów do samodzielnego rozwiązania. Zachęcam do rozwiązywania tych problemów.

Materiał podzielono na wykłady ze względu na poruszaną tematykę. Stąd faktyczny czas potrzebny na zapoznanie się z materiałem zawartym w poszczególnych wykładach może być różny.

W miarę poznawania zagadnień omawianych w poszczególnych wykładach wskazane jest, korzystanie z prostych programów graficznych powszechnie dostępnych. Na przykład można korzystać z programu Paint dostępnego w systemie Windows oraz z możliwości tworzenia rysunków dostępnych w programie Word czy też PowerPoint. Oczywiście można również korzystać z dostępnych w sieci darmowych programów graficznych.

Zainteresowanych pogłębieniem wiadomości zawartych w niniejszym kursie odsyłam do podanej literatury pomocniczej. Istnieje również możliwość korzystania z konsultacji za pomocą poczty elektronicznej (za wyjątkiem okresów urlopowych) pod adresem jza@ii.pw.edu.pl. Na ten adres proszę przesyłać również wszelkie uwagi dotyczące prezentowanego materiału.

Przedstawiony materiał teoretyczny wyjaśnia podstawowe pojęcia i metody wykorzystywane w grafice komputerowej. Ilustracją do tego będą z pewnością zajęcia laboratoryjne, w ramach których można będzie praktycznie poznać trzy profesjonalne programy graficzne.