Podstawy Grafiki Komputerowej

Janusz Malinowski

Opis przedmiotu

Przedstawione na tej stronie WWW treści są niemal w całości autorstwa dr. hab. Jacka Tarasiuka, który stworzył i prowadził przedmiot "Podstawy grafiki komputerowej" przez wiele lat. Niestety natłok innych obowiązków zmusił go do oddania tego przedmiotu w moje ręce. Z kolei mój brak czasu spowodował ten plagiat, który mam nadzieję mi Państwo wybaczą.

W ramach wykładu przedstawione zostaną podstawy programowania grafiki rastrowej oraz podstawy programowania grafiki wektorowej zarówno 2D jak i 3D. Omówione będą podstawowe pojęcia występujące w grafice. Przedyskutowane zagadnienia barwy i koloru, problemy transformacji geometrycznych oraz przetwarzania i obróbki grafiki rastrowej.

W przeciwieństwie do przedmiotu "Edycja i przetwarzanie grafiki", który bazuje na komercyjnych programach graficznych, na tych zajęciach skoncentrujemy się na stronie programistycznej obróbki grafiki tak, aby stało się jasne jak działają "od środka" różne narzędzia Photoshopa czy GIMP'a czy innego tego typu programu.

Zakres materiału będzie zresztą znacznie wykraczał poza to co jest dostępne w tym znanym programie. Wykład ma za zadanie zapoznać słuchaczy z podstawami grafiki komputerowej od strony praktycznej. Oznacza to, że duży nacisk zostanie położony na praktyczne rozwiązania uwzględniające specyfikę konkretnych środowisk programistycznych, a nie na czysto teoretyczne rozważania dotyczące ogólnie grafiki komputerowej. Każde omawiane zagadnienie będzie wsparte konkretnym działającym programem, a jego kod zostanie na zajęciach omówiony. Dzięki tym kodom źródłowym, każdy będzie mógł łatwo eksperymentować i uczyć się na działających przykładach.

W ramach wykładu omówionych zostanie szereg bibliotek wspomagających programowanie grafiki. Każdej z nich towarzyszyć będą działające programy przykładowe, których kody również zostaną omówione na zajęciach.

Dodatkowym celem zajęć jest zapoznanie się z organizacją pracy w zespole programistycznym oraz nauka przygotowywania profesjonalnej dokumentacji projektu. Obie te umiejętności są wysoko cenione na rynku pracy.

Jestem przekonany, że człowiek najlepiej uczy się wtedy, gdy zmusza go do tego konieczność rozwiązania konkretnego problemu. Dlatego w prowadzonych przeze mnie przedmiotach wykład jest tylko dodatkiem do projektu, ćwiczeń lub innych zajęć praktycznych. Nie inaczej jest w przypadku "Wprowadzenia do grafiki komputerowej". Główny nacisk położony został na praktyczne opanowanie umiejętności programowania różnorodnych zagadnień związanych z grafiką. W idealnym przypadku wyobrażam sobie, że wykład daje ogólną wiedzę dotyczącą tematu, laboratorium pozwala poznać szczegóły praktyczne, później zaś każdy student w ramach swoich potrzeb stara się ją poszerzyć (lub pogłębić w zależności od upodobań ;-)). Jeśli ktoś nadal nie potrafi sobie poradzić z problemem, to kolejnym krokiem jest konsultacja z osobą prowadzącą projekt. Wraz z kolegą, służymy Państwu doświadczeniem, choć nie obiecujemy, że każdy problem potrafimy rozwiązać.

Wymagania wobec słuchaczy

Wykład przeznaczony jest dla studentów Informatyki Stosowanej oraz jako przedmiot obieralny dla studentów pozostałych kierunków. Od słuchaczy oczekuję w miarę dobrej umiejętności programowania w języku C++.

Wszystkie narzędzia omawiane na wykładzie będą dostępne za darmo. Bądź to jako oprogramowanie Open Source, bądź specjalne wersje programów komercyjnych, udostępnione przez producenta za darmo (na określonych zasadach, najczęściej do wykorzystania niekomercyjnego).

Prowadzący zajęcia

  • dr inż. Janusz Malinowski
    (wykład + pracownia komputerowa + projekty)
  • mgr inż. Jakub Kamiński
    (pracownia komputerowa + projekty)

Literatura pomocnicza

  • C++. Wykorzystaj potęgę aplikacji graficznych. , Janusz Ganczarski , Helion , Warszawa 2008
  • Elementy grafiki komputerowej , Michał Jankowski , WNT , Warszawa 2006
  • Wprowadzenie do grafiki komputerowej , James D. Foley i inni , WNT , Warszawa 2001
  • Wprowadzenie do grafiki komputerowej , Ian O. Angell , WNT , Warszawa 1988
  • Zaawansowane techniki kompresji obrazów i sekwencji wizyjnych , Marek Domański , Wyd. Politechniki Poznańskiej, Poznań 2000
  • Barwa w grafice komputerowej , Włodzimierz Pastuszak , PWN, Warszawa 2000