Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Grafika komputerowa
Tok studiów:
2016/2017
Kod:
MIS-1-405-s
Wydział:
Inżynierii Metali i Informatyki Przemysłowej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
4
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
Osoby prowadzące:
dr inż. Dębiński Tomasz (tdebinsk@metal.agh.edu.pl)
prof. dr hab. inż. Głowacki Mirosław (glowacki@metal.agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student powinien znać podstawy teorię grafiki komputerowej, rozumieć sposób definiowania różnych typów obiektów sceny graficznej, a także poszczególne etapy renderingu. IS1A_W09 Egzamin
M_W002 Student powinien znać najważniejsze algorytmu graficzne, dopuszczalne ich uproszczenia, poprawnie definiować obiekty, należycie do-bierać konieczne operacje renderingu i szacować złożoność obliczeniową algorytmów. IS1A_W07, IS1A_W11 Projekt
Umiejętności
M_U001 Student powinien umieć zaimplementować system graficzny przy użyciu poleceń biblioteki OpenGL, przetestować kod programu pod wzglę-dem poprawności i usuwać ewentualne błędy IS1A_U03, IS1A_U16 Wykonanie projektu
Kompetencje społeczne
M_K001 Student powinien być zdolnym do formułowania koncepcji wizualizacji problemów fizycznych i technicznych i przedstawiania sposobów ich realizacji przy pomocy uzyskanej wiedzy i umiejętności praktycznych z wykorzystaniem odpowiednich narzędzi informatycznych IS1A_K03 Aktywność na zajęciach
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student powinien znać podstawy teorię grafiki komputerowej, rozumieć sposób definiowania różnych typów obiektów sceny graficznej, a także poszczególne etapy renderingu. + - - - - - - - - - -
M_W002 Student powinien znać najważniejsze algorytmu graficzne, dopuszczalne ich uproszczenia, poprawnie definiować obiekty, należycie do-bierać konieczne operacje renderingu i szacować złożoność obliczeniową algorytmów. + - + - - - - - - - -
Umiejętności
M_U001 Student powinien umieć zaimplementować system graficzny przy użyciu poleceń biblioteki OpenGL, przetestować kod programu pod wzglę-dem poprawności i usuwać ewentualne błędy - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student powinien być zdolnym do formułowania koncepcji wizualizacji problemów fizycznych i technicznych i przedstawiania sposobów ich realizacji przy pomocy uzyskanej wiedzy i umiejętności praktycznych z wykorzystaniem odpowiednich narzędzi informatycznych + - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

1. Wprowadzenie do grafiki komputerowej. Postępowanie przy tworzeniu obrazu i zalety grafiki komputerowej.
2. Postrzeganie rzeczywistości, cechy ludzkiego wzroku. Grafika wektorowa i rastrowa.
3. Klasyfikacja aplikacji graficznych. Rozwój bazy komputerowej i oprogramowania graficznego.
4. Potok grafiki komputerowej – pojęcie renderingu.
5. Podstawy opisu sceny graficznej – elementy geometrii obliczeniowej, podstawowe algorytmy graficzne. Otoczka wypukła – algorytmy Grahama i Jarvisa
6. Transformacje geometryczne obiektów sceny. Przekształcenia w przestrzeni, współrzędne jednorodne i macierze przekształceń, składanie przekształceń.
7. Opis prymitywów, siatki wielomianowe, sparametryzowane krzywe kubiczne. Powierzchnie drugiego stopnia.
8. Techniki zaawansowanego modelowania graficznego. Modele proceduralne i fraktalne. Struktury danych dla obiektów o złożonych kształtach i ich algebra.
9. Podstawowe algorytmy grafiki rastrowej – tworzenie prymitywów dwuwymiarowych, konwersja odcinków, okręgów i elips, metody oparte o arytmetykę całkowitoliczbową, algorytmy punktu środkowego
10. Rasteryzacja wielokątów, wypełnianie wzorami, operacje na rastrach – kopiowanie i skalowanie.
11. Modele kolorów w grafice rastrowej, odwzorowanie kolorów, rola koloru w grafice komputerowej. Artefakty obrazów płaskich – aliasing i antyaliasing.
12. Oświetlanie i cieniowanie. Modele oświetlania Phonga. Cieniowanie – algorytmy Gorauda i Phonga.
13. Zasłanianie obiektów sceny graficznej. Efektywne algorytmy specyfikacji płaszczyzn i linii widocznych. Wycinanie i przeglądanie prymitywów. Algorytm Z-bufora.
14. Systemy i biblioteki graficzne – podstawy specyfikacji OpenGL – wersje specyfikacji.

Ćwiczenia laboratoryjne:

1. Wprowadzenie do programowania grafiki komputerowej z zastosowaniem Windows API oraz biblioteki OpenGL, przygotowanie środowiska projektowego Microsoft Visual Studio, DEV-C++, podstawowe operacje.
2. Podstawy operacji graficznych oraz implementacja algorytmów. Zapoznanie z algorytmami rysowania prostych i zaawansowanych figur geometrycznych w wybranych środowiskach, środowisko Windows API oraz Microsoft Visual Studio.
3. Opracowanie aplikacji okienkowej wykorzystującej wizualne komponenty środowiska Windows wraz z pełną interakcją z użytkownikiem.
4. Zapoznanie z algorytmami oraz metodami matematycznymi stosowanymi w grafice komputerowej. Wykorzystanie parametrycznego zapisu prostej, wyznaczanie punktów przecięcia, opis płaszczyzn, punkty przecięcia płaszczyzn, techniki wyznaczania macierzy odwrotnej, rzutowanie.
5. Obcinanie w technice rastrowej. Zapoznanie z algorytmami obcinania odcinków oraz wielokątów w technice rastrowej. Implementacja algorytmów obcinania Cohena Sutherlanda oraz Cyrusa Becka.
6. Algorytmy rasteryzacji oraz pogrubiania prymitywów. Zapoznanie się z podstawowymi algorytmami rasteryzacji oraz budowania pogrubionych prymitywów. Implementacja algorytmów rasteryzacji, metoda przyrostowa oraz algorytm z punktem środkowym Bresenham’a.
7. Wypełnianie prostokątów, wielokątów. Zapoznanie się z podstawowymi algorytmami wypełniania konturów. Implementacja podstawowego przyrostowego algorytmu przeglądania linii, oraz algorytmu wykorzystującego tablice aktywnych krawędzi. Implementacja technik powielania pikseli, ruchomych pędzli oraz zmiennej geometrii pędzli.
8. Metody transformacji układu współrzędnych. Implementacja przekształceń translacji, rotacji, skalowania oraz przekształcenia złożeniowego.
9. Operacje na modelach barw. Zapoznanie się z podstawowymi modelami barw oraz sposobami ich konwersji. Implementacja algorytmu wzajemnej konwersji różnych modeli kodowania kolorów.
10. Metody generowania otoczki wypukłej w przestrzeni 2D, implementacja algorytmów Grahama i Jarvisa.
11. Krzywe parametryczne oraz krzywe B-sklejane. Podstawowe algorytmy kreślenia krzywych parametrycznych. Implementacja algorytmów kreślenia krzywych Hermite’a oraz Beziera. Generacja dowolnych ścieżek zamkniętych oraz animacja ruchu obiektów.
12. Antyaliasing. Zapoznanie się z podstawowymi algorytmami usuwania zakłóceń (antyaliasingu). Implementacja algorytmów antyaliasingu obiektow 2D.
13. Metody oświetlania i cieniowania. Zapoznanie z metodami oraz implementacja metod oświetlania i cieniowania.
14. Algorytmy zasłaniania obiektów. Implementacja metod zasłaniania obiektów dla zróżnicowamych konfiguracji. Algorytm Z-bufora.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 158 godz
Punkty ECTS za moduł 6 ECTS
Udział w wykładach 28 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Przygotowanie do zajęć 30 godz
Wykonanie projektu 30 godz
Samodzielne studiowanie tematyki zajęć 30 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe z nauczycielem 10 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Ocena końcowa O (zaokrąglona do jednej z obowiązujących ocen):
O = 0,5 Ol + 0,5 Oe
Ol – ocena z ćwiczeń laboratoryjnych,
Oe – ocena z egzaminu.

Wymagania wstępne i dodatkowe:

Zgodnie z Regulaminem Studiów AGH podstawowym terminem uzyskania zaliczenia jest ostatni dzień zajęć w danym semestrze. Termin zaliczenia poprawkowego (tryb i warunki ustala prowadzący moduł na zajęciach początkowych) nie może być późniejszy niż ostatni termin egzaminu w sesji poprawkowej (dla przedmiotów kończących się egzaminem) lub ostatni dzień trwania semestru (dla przedmiotów niekończących się egzaminem).

Zalecana literatura i pomoce naukowe:

1. J. D. Foley, A. van Dam, S. K. Feiner, J. F. Hughes, R. L. Phillips, Wprowadzenie do grafiki komputerowej, WNT 2001
2. M. Jankowski, Elementy grafiki komputerowej, WNT, Warszawa 2006
3. J. Zabrodzki i in., Grafika komputerowa. Metody i narzędzia, WNT 1994
4. P. Shirley, S. Marchner. Fundamentals of Computer Graphigs. Taylor and Francis 2010
5. D. Hearn, P. Baker, Computer Graphics, Prentice Hall 1997
6. R.S. Wright, M. Sweet, OpenGL. Księga eksperta, Helion, 1999

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

http://www.bpp.agh.edu.pl/

Informacje dodatkowe:

Brak