Podstawy grafiki komputerowej
1000-ZiPGK
Podczas zajęć omówione zostaną następujące zagadnienia:
-) Reprezentacja cyfrowa obrazu, narzędzia, biblioteki, tworzenie bitmap.
-) Algorytmy rasteryzacji odcinków, antyaliasing,
-) Algorytmy rasteryzacji okręgów i elips,
-) Reprezentacja krzywych (krzywe Béziera, B-spliny)
-) Reprezentacja i wypełnianie wielokątów.
-) Modele barw (RGB, CMYK, HSV).
-) Alpha blending. Blending-modes
-) Podstawowe transformacje geometryczne obiektów bitmapowych
-) Morfing
-) Teksturowanie trójkątów, transformacja perspektywiczna.
-) Reprezentacja obiektów 3D na płaszczyźnie, rzuty, podstawowe przekształcenia.
-) Modele oświetlenia.
-) Wyznaczanie powierzchni widocznych (Z-bufor).
Całkowity nakład pracy studenta
40 godzin – laboratorium
30 godzin – praca własna (przygotowanie do zajęć, zapoznanie się z materiałami dydaktycznymi umieszczonymi na platformie e-learningowej)
20 godzin – praca własna (przygotowanie zadań zaliczeniowych)
RAZEM: 90 godzin
3 pkt. ECTS
Efekty uczenia się - wiedza
Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
W1: zna najważniejsze formaty graficzne i ich reprezentację w pamięci komputera (KW_02);
W2: zna najważniejsze modele przestrzeni barw, ich własności i zastosowania (K_W02);
W3: zna afiniczne przekształcenia geometryczne i metody rzutowania przestrzennego na płaszczyznę ekranu wraz z ich zapisem w języku macierzy (K_W01, KW_02).
Efekty uczenia się - umiejętności
Oczekuje się, że (poza wiedzą specyficzną dla wybranego projektu i roli studenta(studentki) w zespole) najczęściej student(ka):
W1: zna i potrafi używać zaawansowane struktury danych oraz metody algorytmiczne których można użyć do rozwiązania problemów informatycznych związanych z tworzonym projektem - K_W02, K_W04,
W2: ma wiedzę o najnowszych rozwiązaniach sprzętowych i/lub programistycznych związanych z tworzonym projektem (przykładowo w zakresie urządzeń sieciowych, urządzeń mobilnych i/lub komputerów) - K_W06, K_W12.
W3: ma podstawową wiedzę na temat ryzyka i odpowiedzialności związanej z systemami informatycznymi, zna zasady netykiety, rozumie zagrożenia związane z przestępczością elektroniczną, ma podstawową wiedzę dotyczącą prawnych i społecznych aspektów informatyki, w tym odpowiedzialności - K_W13, K_W14,
W4: posiada wiedzę dotyczącą tworzenia i rozwijania projektów zespołowych - K_W11. Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
U1: implementuje podstawowe algorytmy rasteryzacji prymitywów geometrycznych (K_U01, K_U02, K_U07, K_U08);
U2: rozróżnia i implementuje modele przestrzeni barw (K_U08)
U3: opisuje w języku macierzy afiniczne przekształcenia geometryczne (K_U01)
U4: implementuje podstawowe algorytmy teksturowania (K_U01, K_U02, K_U07, K_U08);
U5: objaśnia sposoby rzutowania przestrzennego na płaszczyznę ekranu (K_U01)
U6: charakteryzuje i implementuje podstawowe modele oświetlenia i cieniowania sceny trójwymiarowej (K_U01, K_U02, K_U07, K_U08);
U7: umie zaprojektować i zaimplementować w wybranej bibliotece programistycznej graficzny interfejs użytkownika (K_U05, K_U15).
Efekty uczenia się - kompetencje społeczne
Po ukończeniu kursu student osiąga następujące efekty (kody odnoszą się do efektów dla studiów 1 stopnia na kierunku informatyka - studia inżynierskie):
K1: potrafi modyfikować algorytmy i dostosowywać je do konkretnych zadań (K_K02);
K2: jest nastawiony na jak najlepsze wykonanie zadania, jest systematyczny (K_K04);
K3: samodzielnie wykonuje zadania programistyczne, potrafi wyszukiwać informacje w literaturze i w Internecie (K_K07).
Metody dydaktyczne podające
- wykład konwersatoryjny
Metody dydaktyczne poszukujące
- laboratoryjna
- projektu
Rodzaj przedmiotu
przedmiot obligatoryjny
Wymagania wstępne
Umiejętność programowania w języku C i C++. Znajomość podstawowych algorytmów i struktur danych.
Koordynatorzy przedmiotu
Kryteria oceniania
Zaliczenie na podstawie oceny zadań programistycznych realizowanych w ramach zajęć laboratoryjnych polegających na samodzielnej implementacji omawianych algorytmów.
zadania programistyczne – W1, W2, W3, U1, U2, U3, U4, U5, U6, U7
aktywność na zajęciach – K1, K2, K3,
Każdy student musi odbyć rozmowę zaliczeniową z prowadzącym zajęcia. Podczas rozmowy student musi umieć szczegółowo omówić kod źródłowy swoich programów.
Praktyki zawodowe
Literatura
Literatura podstawowa:
-) J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes, R.L. Phillips, Wprowadzenie do grafiki komputerowej, WNT, Warszawa 2001.
-) Materiały dydaktyczne umieszczone na platformie Moodle (do zajęć zdalnych)
Literatura uzupełniająca:
-) J. Blanchette, M. Summerfield, C++ GUI Programming with Qt 4. Second Edition, Prentice Hall 2008
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i
terminach zajęć) mogą być dostępne w serwisie USOSweb: