Module also offered within study programmes:
General information:
Name:
Visualization and Computer Graphics
Course of study:
2018/2019
Code:
JIS-1-019-s
Faculty of:
Physics and Applied Computer Science
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
0
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Kawecka-Magiera Barbara (Barbara.Kawecka@fis.agh.edu.pl)
Academic teachers:
dr inż. Kawecka-Magiera Barbara (Barbara.Kawecka@fis.agh.edu.pl)
Module summary

Moduł wprowadza studenta w podstawowe metody opisu obrazu w 3D oraz metodykę i praktykę realizacji prostych animacji komputerowych

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student potrafi pracować w zespole. Potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności, niezbędne do realizacji przydzielonej części zadania zespołowego. IS1A_K02, IS1A_K01 Execution of a project,
Execution of laboratory classes
M_K002 Student potrafi w prawidłowy sposób korzystać z dostępnych materiałów internetowych, repozytoriów obiektów graficznych i tekstur, sam także stara się podzielić własnymi doświadczeniami z innymi studentami czy społecznością internetową IS1A_K03, IS1A_K01 Activity during classes,
Execution of a project
Skills
M_U001 Student potrafi samodzielnie tworzyć modele 3D obiektów (także o złożonych lub nietypowych kształtach), potrafi zastosować odpowiednie techniki teksturowania i oświetlenia aby nadać obiektom realistyczny wygląd IS1A_U06 Execution of laboratory classes
M_U002 Student potrafi samodzielnie zaprojektować i wykonać animację graficzną, zawierająca elementy ruchu obiektów, animacji szkieletu, animacji pozy, potrafi utworzyć film dodać zsynchronizowany dźwięk, napisy. IS1A_U06, IS1A_U02, IS1A_U07, IS1A_U01 Execution of a project,
Execution of laboratory classes
Knowledge
M_W001 Student zna podstawowe* pojęcia z zakresu grafiki 3D i oraz kluczowe mechanizmy generowania realistycznych scen trójwymiarowych. * - pod pojęciem "podstawowe" należy rozumieć pojęcia omawiane w ramach wykładu IS1A_W01, IS1A_W02 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of laboratory classes,
Examination
M_W002 Student zna opis matematyczny obiektów graficznych w przestrzeni 3D, zna pojęcie współrzędnych jednorodnych, rozumie macierzowy opis przekształceń w przestrzeni 3D i potrafi skonstruować macierz transformacji. Zna podstawy rzutowania obiektów 3D na płaszczyznę IS1A_W01, IS1A_W03 Activity during classes,
Examination,
Participation in a discussion,
Execution of laboratory classes
M_W003 Student dysponuje aktualną wiedzą na temat dostępnych narzędzi do tworzenia grafiki 3D, śledzi ich rozwój, poznaje ich nowe funkcjonalności i możliwości IS1A_W06, IS1A_W02, IS1A_W03 Activity during classes,
Participation in a discussion,
Execution of a project,
Execution of laboratory classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student potrafi pracować w zespole. Potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności, niezbędne do realizacji przydzielonej części zadania zespołowego. - - + - - - - - - - -
M_K002 Student potrafi w prawidłowy sposób korzystać z dostępnych materiałów internetowych, repozytoriów obiektów graficznych i tekstur, sam także stara się podzielić własnymi doświadczeniami z innymi studentami czy społecznością internetową - - + - - - - - - - -
Skills
M_U001 Student potrafi samodzielnie tworzyć modele 3D obiektów (także o złożonych lub nietypowych kształtach), potrafi zastosować odpowiednie techniki teksturowania i oświetlenia aby nadać obiektom realistyczny wygląd + - + - - - - - - - -
M_U002 Student potrafi samodzielnie zaprojektować i wykonać animację graficzną, zawierająca elementy ruchu obiektów, animacji szkieletu, animacji pozy, potrafi utworzyć film dodać zsynchronizowany dźwięk, napisy. - - + - - - - - - - -
Knowledge
M_W001 Student zna podstawowe* pojęcia z zakresu grafiki 3D i oraz kluczowe mechanizmy generowania realistycznych scen trójwymiarowych. * - pod pojęciem "podstawowe" należy rozumieć pojęcia omawiane w ramach wykładu + - + - - - - - - - -
M_W002 Student zna opis matematyczny obiektów graficznych w przestrzeni 3D, zna pojęcie współrzędnych jednorodnych, rozumie macierzowy opis przekształceń w przestrzeni 3D i potrafi skonstruować macierz transformacji. Zna podstawy rzutowania obiektów 3D na płaszczyznę + - + - - - - - - - -
M_W003 Student dysponuje aktualną wiedzą na temat dostępnych narzędzi do tworzenia grafiki 3D, śledzi ich rozwój, poznaje ich nowe funkcjonalności i możliwości + - + - - - - - - - -
Module content
Lectures:

1. Wprowadzenie, podstawowe pojęcia i definicje (2 godz.)
Wprowadzenie do zagadnienia komputerowej syntezy obrazów 3D, krótki rys historyczny, typowe zastosowania grafiki trójwymiarowej, przegląd dostępnych programów narzędziowych przeznaczonych do generowania obrazów 3D i wizualizacji danych.
2.Sposoby zapisu i reprezentacji obiektów graficznych (2 godz.)
3.Rysowanie obiektów dwu i trójwymiarowych w przestrzeni 3D (2 godz.)
Podstawowe techniki modelowania krzywych oraz powierzchni. Reprezentacja parametryczna krzywych i powierzchni. Modelowanie brył. Konstruktywna geometria brył CSG, reprezentacja brzegowa, modelowanie fraktalne, modelowanie z zastosowaniem gramatyk
4.Przekształcenia geometryczne (2 godz.)
Wybór układu współrzędnych. Przekształcenia geometryczne na płaszczyźnie i w przestrzeni 3D oraz ich macierzowa reprezentacja. Współrzędne jednorodne. Składanie przekształceń, zastosowanie kwaternionów do realizacji obrotów. Rzutowanie. Algorytmy obcinania.
5.Modele i parametry kamery (2 godz.)
Algorytmy wykrywania linii i powierzchni widocznych.
6.Źródła światła. Modele oświetlenia. Cieniowanie (4 godz.)
7.Materiały i tekstury (4 godz.)
Mapy kolorów, mapy wypukłości (bump maps, displacement maps), mapy refleksów światła, odbić lustrzanych, mapowanie techniką UV.
8.Techniki Renderingu (2 godz.)
Metoda śledzenia promieni, metoda energetyczna, metody hybrydowe. Dążenie do uzyskania realizmu sceny, mapy środowiskowe, efekty “Halo”, flary soczewkowe, mgła, efekty volumeryczne
9. Podstawy animacji grafiki komputerowej. ( 4 godz.)
Definicja i zastosowania animacji komputerowej, podstawowe parametry animacji, rodzaje animacji: poklatkowa, kształtu (morphing, warping), ruchu ( ruch po ścieżce, metody i techniki kontroli ruchu ,ograniczenia ruchu), kształtu + ruchu (modelowanie zderzeń), behawioralna, animacja postaci (system kości, kinematyka odwrotna) sterowanie zachowaniem (technika motion capture synchronizacja ruchu).
10. Efekty specjalne podnoszące realizm animacji (4 godz)
Rozbudowany system cząstek (do tworzenia dymu, ognia), dynamika bryły sztywnej, system soft-body (symulacja obiektów miękkich),symulacja tkanin, włosów oraz cieczy.

Laboratory classes:

1. Wykorzystanie programu Artofillusion do generowania prostych scen 3D
Efekty kształcenia:
- student poznał interfejs i możliwości programu, wie gdzie można znaleźć jego dokumentacje.
- student potrafi wygenerować obiekty 3D korzystając z dostępnych prymitywów graficznych,
- student potrafi utworzyć materiał oraz teksturę jednorodną oraz proceduralną 2D lub 3D i zmapować ją na obiekt
- student potrafi wykonać transformacje geometrii obiektu oraz edytować jego siatkę
- student potrafi umieścić na scenie różne typy świateł, może kontrolować ich parametry (intensywność, kolor, kierunek itp)
- wie do czego służy obiekt „Null”, zna zasady wprowadzania hierarchii i zależności między obiektami.
- potrafi rysować obiekty 2 wymiarowe (krzywe, wielokąty, figury płaskie) i na ich podstawie potrafi generować obiekty obrotowe ekspandować obiekty płaskie w trzeci wymiar
- umie tworzyć tablice obiektów
- potrafi ustawić kamerę (obserwatora sceny), zastosować filtry kamery, ustawić głębie ostrości
- potrafi ustawić parametry świata
- potrafi wyrenderować scenę korzystając z metody śledzenia promieni świadomie zadając parametry renderowana
- potrafi korzystać z dokumentacji programu dostępnej w języku angielskim.

2. Wykorzystanie programu Artofillusion do nauki podstaw animacji 3D
Efekty kształcenia:
- student potrafi zadać ruch obiektu po dowolnej krzywej wygenerowanej na scenie
- student potrafi zadać ruch obiektu na scenie za pomocą klatek kluczowych
- student potrafi zastosować edytor proceduralny do wyliczania położenia obiektów na scenie w czasie na podstawie np. równań ruchu
- student potrafi wykonać animację siatki obiektów korzystając z edytora animacji (pose to pose)
- student potrafi utworzyć szkielet związać go z obiektem i wykonać animację szkieletową
- student potrafi zastosować dostępne w programie animowane „efekty specjalne”
- student potrafi zastosować system cząsteczek do generowania efektów wolumetrycznych (dym, ogień, mgła)
- student potrafi ustawić parametry animacji, wyrenderować klatki i skleić je w filmik animowany

3.Student wykona używając programu Artofillusion animację graficzną o zadanej tematyce
Efekty kształcenia:
-potrafi samodzielnie zaprojektować i zrealizować prostą animację graficzną w poznanym programie Artofillusion, oraz użyć dokumentacji programu (w języku angielskim) aby poznać inne dodatkowe funkcjonalności programu potrzebne do realizacji projektu

4.Wykorzystanie programu PovRay do generowania grafiki 3D przy użyciu języka opisu sceny
Efekty kształcenia:
- student poznał język opisu sceny programu PovRay, potrafi pracować w środowisku programistycznym programu i korzystać z funkcji interfejsu użytkownika wspomagających definiowanie obiektów i generowanie kodu źródłowego
- student rozwija swoją wyobraźnię przestrzenną generując w środowisku programu PovRay kod źródłowy sceny, opisujący ustawienie i parametry kamery, definiujący obiekty, ich położenie , transformacje przestrzenne i geometryczne itp.
- student potrafi tworzyć obiekty, utworzyć teksturę i nadać jej opcje wykończenia, wygenerować scenę, używa zasobów bibliotecznych programu PovRay.
- student potrafi utworzyć mapę kolorów, używa wzorców rozkładu koloru, i ich modyfikatorów do tworzenia realistyczne wyglądających tekstur, – potrafi utworzyć teksturę warstwową, umie odwzorowywać mapy bitowe na powierzchni obiektów
- student potrafi zaprogramować i wykonać animację w PovRay’u
- student potrafi z poziomu opisu sceny uruchomić różne metody renderowania sceny (śledzenie promieni, radiosity), potrafi rozsądnie dobrać parametry renderingu, potrafi rozpoznać którą z metod realizowany był rendering sceny
- potrafi zaprogramować na scenie system cząsteczek i uzyskać różne efekty wizualne, wie jak zaprogramować efekty kaustyczne

5. Student wykona wspólnie z zespołem kolegów animację graficzną 3D w programie PovRay
Efekty kształcenia:
- student potrafi współpracować w grupie realizując samodzielnie przydzieloną część zadania
- student potrafi zastosować poznane elementy języka opisu sceny do generowania kodu źródłowego odpowiadającego ze realizacje swojego fragmentu animowanej sceny
- student potrafi wykorzystać dokumentacje programu PovRay (dostępną w języku angielskim) aby w swojej części pracy wykorzystać również funkcjonalności, które pojawiły się dopiero w najnowszej wersji programu PovRay.

6. Modelowanie 3D i teksturowanie z wykorzystaniem programu Blender
- Student poznał i potrafi używać interface programu Blender, zna podstawowe klucze funkcyjne
- Student potrafi utworzyć i edytować podstawowe obiekty udostępnione przez program Blender: prymitywy 3D, siatki, powierzchnie NURBS, krzywe Béziera, meta obiekty, fonty wektorowe
- Student potrafi zastosować narzędzie pozwalające na rzeźbienie siatki, zagęszczanie i podział, losowy rozrzut wierzchołków
- Student potrafi edytować siatkę w modzie wierzchołków, krawędzi i wielokątów i nadać jej praktycznie dowolny kształt,
- Student potrafi tworzyć obiekty obrotowe, obiekty „wytłaczane po ścieżce”, tablice obiektów
- Student potrafi tworzyć realistycznie wyglądające materiały i tekstury (tekstury proceduralne 3D, wypiekanie tekstur, przypisywanie tekstur w trybie UV, mapowanie tekstur, otwarte repozytoria tekstur)
- Student potrafi dobrać właściwe oświetlenie sceny (swiatła Lamp, spot, area, hemi..), zadać parametry otaczającego świata
-Student potrafi używać silnika renderujacego cycle i posługiwać się systemem nodów w zakresie podstawowym

7. Animacja w programie Blender
Efekty kształcenia:
- Student potrafi uzyskać ruch obiektu po dowolnej ścieżce
- Student potrafi wygenerować szkielet, związać z nim obiekt i realizować animacje oparte na szkielecie (wykorzystaniem kinematyki odwrotnej).
- Student umie generować animacje przy pomocy klatek kluczowych
- Student umie generować animacje typu „pose to pose”
- Student potrafi dołączyć i zsynchronizować plik dźwiękowy.
- Student potrafi wykonać w programie Blender symulacje płynu, włosów, trawy, zastosować silnik fizyczny.
PROJEKT i Konkurs animacji
Student realizuje projekt w postaci animacji graficznej 3D, wykonany w programie Blender, na zadany temat, według własnego scenariusza, do filmu dodaje zsynchronizowany dzwięk. Wykonuje dokumentację realizacji projektu. Animacje wraz z dokumentacja i plikiem źródłowym animacji umieszcza na serwisie konkursowym. Ma możliwość ocenienia swojej pracy i prac kolegów zgodnie z regułami konkursu, może też wyrazić swoją opinię zamieszczając komentarz przy pracach swoich i kolegów. Podczas finału konkursu student przedstawia krótki raport z przebiegu realizacji projektu
Efekty kształcenia:
- student potrafi efektywnie wykorzystać poznane programy narzędziowe do tworzenia atrakcyjnej grafiki 3D i realistycznej animacji graficznej
- student potrafi wyrazić obiektywny sąd na temat pracy własnej i kolegów, ocenić efekty i nakład pracy
- student w krótkim wystąpieniu podczas finału konkursu potrafi przedstawić zwięzły raport z realizacji projektu

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 155 h
Module ECTS credits 6 ECTS
Realization of independently performed tasks 35 h
Examination or Final test 2 h
Contact hours 3 h
Participation in laboratory classes 30 h
Preparation for classes 20 h
Completion of a project 35 h
Participation in lectures 30 h
Additional information
Method of calculating the final grade:

Formą zaliczenia wykładów jest egzamin pisemny oceniany zgodnie z zasadami zawartymi w regulaminie studiów. Dostępny jest zestaw zagadnień w celu przygotowanie się do egzaminu.
W ramach laboratorium komputerowego studenci wykonują szereg ćwiczeń, za które mogą zdobyć określoną liczbę punktów. Procent uzyskanych punktów przeliczany jest zgodnie z Regulaminem Studiów AGH na ocenę z laboratorium (OL).
W ramach ćwiczeń labaratoryjnych studenci wykonuja Projekt w postaci animacji komputerowej który jest oceniany zgodnie ze szczegółowymi kryteriami zamieszczonymi na stronie przedmiotu oraz przedstawionymi na pierwszych zajęciach.
Ocena końcowa z ćwiczeń laboratoryjnych (L_OK) obliczana jest jako średnia ważona z powyższych ocen, przy czym ocena z laboratorium (OL) wchodzi do oceny końcowej z wagą 40%, a ocena z projektu (OP) z wagą 60%.
L_OK= 0.6 *OP + 0.4 *OL

Ocena końcowa (OK) obliczana jest jako średnia ocen z egzaminu (E) i z ćwiczeń labolatoryjnych (L_OK):
OK = 0.5 * E + 0.5 * L_OK
Uzyskanie pozytywnej oceny końcowej (OK) wymaga uzyskania pozytywnej oceny z ćwiczeń labolatoryjnych (OKL) i egzaminu (E).
Ocena L_OK lub E uzyskana w drugim terminie nie może być wyższa niż 4.0.
Ocena L_OK lub E uzyskana w trzecim terminie nie może być wyższa niż 3.0.

Prerequisites and additional requirements:

Znajomość podstaw algebry liniowej (operacje na wektorach i macierzach)
Znajomość podstaw grafiki komputerowej
Znajomość elementarnych podstaw fizyki (optyka, mechanika klasyczna)
Podstawowa umiejętność programowania w C/C++

Recommended literature and teaching resources:

Jankowski M., Elementy grafiki komputerowej. Warszawa, Wydawnictwo Naukowo-Techniczne, 1990.
Kiciak P., Podstawy modelowania krzywych i powierzchni. Warszawa, Wydawnictwo Naukowo-Techniczne, 2001.
Foley J.D., Wprowadzenie do grafiki komputerowej. Warszawa, Wydawnictwo Naukowo-Techniczne, 2001
Kuklo K., Kolmaga J., Blender, kompendium. Gliwice, Helion, 2007

Scientific publications of module course instructors related to the topic of the module:

Additional scientific publications not specified

Additional information:

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:

ćwiczenia labolatoryjnejnych: Nieobecność na jednych zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału. Nieobecność na więcej niż jednych zajęciach wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału i jego zaliczenia w wyznaczonym przez prowadzącego terminie lecz nie później jak w ostatnim tygodniu trwania zajęć. Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia może zostać pozbawiony, przez prowadzącego zajęcia, możliwości wyrównania zaległości.
Obecność na wykładzie: zgodnie z Regulaminem Studiów AGH.

Zasady zaliczania zajęć:

ćwiczenia labolatoryjneryjne: Podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. Student może dwukrotnie przystąpić do poprawkowego zaliczania.
Student który bez usprawiedliwienia opuścił więcej niż dwa zajęcia i jego cząstkowe wyniki w nauce były negatywne może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.

Warunkiem przystąpienie do egzaminu jest wcześniejsze uzyskanie zaliczenia z ćwiczeń labolatoryjnych.

Egzamin przeprowadzany jest zgodnie z Regulaminem Studiów AGH § 16.