Krótki opis przedmiotu

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. 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. W funkcji wyboru słuchaczy jeden wykład (może dwa) poświęcony zostanie na omówienie, w stopniu wystarczającym do pisania prostych aplikacji:
- programowania w systemie Windows API (Win32) lub
- programowania w środowisku Borland Builder lub
- programowania z wykorzystaniem biblioteki QT lub
- programowania z wykorzystaniem biblioteki wxWidgets.
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.

Forma zajęć

W ramach przedmiotu przewidziano 30 godzin wykładu, 15 godzin laboratorium komputerowego oraz 15 godzin konsultacji projektowych. Wykłady będą się odbywały raz w tygodniu i będą trwały trzy godziny lekcyjne (3x45min). Cały wykład zostanie zaprezentowany w ciągu pierwszych dziesięciu tygodni semestru. Laboratorium oraz projekt zostały połączone i będą się odbywały w postaci dwugodzinnych spotkań raz w tygodniu. Pierwsze spotkanie będzie dotyczyło projektu. Słuchacze zostaną podzieleni (wedle własnego uznania) na grupy trzyosobowe. Każda grupa wybierze sobie spośród zaproponowanej listy projekt do wykonania w trakcie semestru. Przez kolejne osiem tygodni będą się odbywać laboratoria komputerowe. Pozostałe tygodnie ponownie zostaną przeznaczone na spotkania projektowe.

Graficzna prezentacja zajęć w semestrze.

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ź - tak jak w przypadku Borland Turbo C++ - udostępnione przez producenta za darmo na określonych zasadach.

Zaliczenie

Przedmiot kończy się dwoma ocenami. Jedną z laboratorium komputerowego i jedną z projektu. Jeśli okaże się, że wymagana będzie dodatkowo ocena końcowa z przedmiotu zostanie ona wyliczona jako średnia ważona: 60% oceny z projektu + 40% oceny z laboratorium.

Prowadzący zajęcia