- Nazwa przedmiotu:
- Grafika komputerowa
- Koordynator przedmiotu:
- prof. nzw.dr hab inż. Barbara Putz
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Mechatronika
- Grupa przedmiotów:
- Obowiązkowe
- Kod przedmiotu:
- GRK
- Semestr nominalny:
- 5 / rok ak. 2013/2014
- Liczba punktów ECTS:
- 3
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1) Liczba godzin bezpośrednich: 32, w tym:
wykład 15 godz., 
zajęcia laboratoryjne 15 godz.,
konsultacje – 2 godz..
2) Praca własna studenta – 50 godz.
•	studia literaturowe, przygotowanie do sprawdzianów 10 godz., 
•	wykonanie prac domowych 20 godz.,
•	wykonanie pracy końcowej 15 godz.,
•	wykonanie portfolio 5 godz..
RAZEM- 80 godz. -3 punkty ECTS
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1, 5 punktu ECTS - liczba godzin bezpośrednich: 32, w tym:
•	wykład 15 godz., 
•	zajęcia laboratoryjne 15 godz.,
•	konsultacje – 2 godz.
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 2 punkty ECTS – 55 godz, w tym:
•	wykonanie prac domowych 20 godz.,
•	wykonanie pracy końcowej 15 godz.,
•	wykonanie portfolio 5 godz..
•	zajęcia laboratoryjne 15 godz.,
- Formy zajęć i ich wymiar w semestrze:
- 
            
                - Wykład225h
- Ćwiczenia0h
- Laboratorium225h
- Projekt0h
- Lekcje komputerowe0h
 
- Wymagania wstępne:
- Kurs inżynierski matematyki. Podstawy programowania. 
- Limit liczby studentów:
- 12 osób w grupie lab.
- Cel przedmiotu:
- Znajomość podstawowych  algorytmów grafiki komputerowej 3D i animacji 3D oraz zasad  zarówno ich  implementacji, jak i wykorzystania w aplikacjach graficznych
- Treści kształcenia:
- ===WYKŁAD===
1. Grafika rastrowa i wektorowa. Formaty plików graficznych. Elementy teorii barw.  
2. Krzywe w reprezentacji  Beziera,  algorytmy wyznaczania. Krzywe B-sklejane drugiego i trzeciego stopnia.  
3. Modelowanie powierzchni Beziera i B-sklejanych. Konstruowanie powierzchni na podstawie krzywych. Definiowanie brył CSG. Modelowanie powierzchni subdivision. 
4. Modelowanie światła odbitego od powierzchni: odbicie rozproszone i lustrzane. Cieniowanie siatek wielościanowych. 
5. Metody usuwania punktów niewidocznych, z-bufor. Symulacja przezroczystości i cieni. Zasady nakładania tekstury; odwzorowywanie wypukłości. 
6. Algorytmy oświetlenia globalnego: metoda śledzenia promieni, metoda energetyczna, mapowanie fotonowe, path tracing, ambient occlusion. 
7. Animacja kluczowa i ścieżkowa, interpolacja wykresowa. Animacja oparta na prawach fizyki, systemy cząsteczkowe. Zasady animacji szkieletów, animacja postaci i animacja twarzy.
8. Wprowadzenie do standardów OpenGL i WebGL. Procesory graficzne i technologia NVIDIA CUDA.  Interaktywny ray tracing, giga-voxele i silniki gier (UnReal Engine, CryEngine).
===LABORATORIUM=== Ćwiczenie 1. Szybkie tworzenie efektów grafiki 2D i 3D z użyciem Processingu - języka do tworzenia apletów graficznych, bazującego na Javie. 
Ćwiczenie 2. Wprowadzenie do korzystania z modelera Rhinoceros ze szczególnym uwzględnieniem modelowania krzywych i powierzchni.  
Ćwiczenie 3. Wprowadzenie do korzystania z Blendera -  modelowanie powierzchni subdivision, renderowanie silnikiem Cycles i różne formy animacji. 
Ćwiczenie 4. Wprowadzenie w podstawy użytkowania  WebGL i biblioteki Three.js - tworzenie interaktywnej grafiki 3D w przeglądarce.
5. Opracowanie pracy końcowej jako kontynuacji jednego z czterech powyższych wykonanych  ćwiczeń.
6. Opracowanie portfolio - witryny zawierającej raporty z wykonanych prac.
- Metody oceny:
- Wykład - 2 sprawdziany zaliczające.
Laboratorium - suma punktów za  wykonanie ćwiczeń, prac domowych i pracy końcowej oraz  portfolio.
- Egzamin:
- nie
- Literatura:
- 1. M. Kujawińska, B. Putz, R. Sitnik: Technika obrazowa. OKNO PW. Warszawa 2005, dostępny online.
2. P. Kiciak: Podstawy modelowania krzywych i powierzchni. Zastosowania w grafice komputerowej. WNT 2005. 
3. J. D. Foley, A. van Dam i in.: Wprowadzenie do grafiki komputerowej. WNT 2001. 
4. R. Parent: Animacja komputerowa. Algorytmy i techniki. PWN 2012.
5. T. Roosendaal, S. Selleri: Blender 2.3. Oficjalny podręcznik. Helion 2005. 
6. R. S. Wright Jr., B. Lipchak: OpenGL. Księga eksperta. Wyd. III. Helion 2004.
7. Zasoby dostępne w Internecie.
- Witryna www przedmiotu:
- http://iair.mchtr.pw.edu.pl/studenci/witryna/index.php (wydziałowy system SKS, wymaga logowania)
- Uwagi:
Efekty uczenia się
    Profil ogólnoakademicki - wiedza
                    - Efekt GRK_W01
- ma podstawową uporządkowaną wiedzę z zakresu modelowania krzywych, powierzchni i brył
 Weryfikacja: sprawdzian 1, sprawdzian 2
 Powiązane efekty kierunkowe: 
                        K_W13
 Powiązane efekty obszarowe: 
                        T1A_W03, T1A_W04
- Efekt GRK_W02
- ma podstawową uporządkowaną wiedzę z zakresu  algorytmów grafiki komputerowej i animacji
 Weryfikacja: sprawdzian 1, sprawdzian 2
 Powiązane efekty kierunkowe: 
                        K_W13
 Powiązane efekty obszarowe: 
                        T1A_W03, T1A_W04
- Efekt GRK_W03
- ma uporządkowaną wiedzę na temat  korzystania z systemów grafiki komputerowej i systemów  CAD 
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_W06
 Powiązane efekty obszarowe: 
                        T1A_W03, T1A_W04
- Efekt GRK_W04
- ma podstawową wiedzę na temat tworzenia oprogramowania w zakresie modelowania i grafiki komputerowej 
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_W04
 Powiązane efekty obszarowe: 
                        T1A_W02
Profil ogólnoakademicki - umiejętności
                    - Efekt GRK_U01
- potrafi posługiwać się środowiskami grafiki komputerowej (np. Blender) i CAD (np. Rhinoceros) do modelowania scen 3D
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_U01, K_U04, K_U05, K_U22
 Powiązane efekty obszarowe: 
                        T1A_U01, T1A_U01, T1A_U03, T1A_U04, T1A_U06, T1A_U05, T1A_U07, T1A_U15
- Efekt GRK_U02
- potrafi posługiwać się językiem programowania grafiki (typu Processing) i biblioteką graficzną  do tworzenia oprogramowania graficznego (np. prostych gier)
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_U01, K_U04, K_U05, K_U06, K_U22
 Powiązane efekty obszarowe: 
                        T1A_U01, T1A_U01, T1A_U03, T1A_U04, T1A_U06, T1A_U05, T1A_U09, T1A_U07, T1A_U15
- Efekt GRK_U03
- potrafi utworzyć prostą stronę internetową zawierającą dokumentację wykonanych ćwiczeń laboratoryjnych i prac domowych
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_U01, K_U02, K_U04, K_U05
 Powiązane efekty obszarowe: 
                        T1A_U01, T1A_U02, T1A_U07, T1A_U01, T1A_U03, T1A_U04, T1A_U06, T1A_U05
Profil ogólnoakademicki - kompetencje społeczne
                    - Efekt GRK_K01
- radzi sobie z rozwiązywaniem nowych, nietypowych zadań
 Weryfikacja: zaliczanie ćwiczeń laboratoryjnych i prac domowych
 Powiązane efekty kierunkowe: 
                        K_K01, K_K05
 Powiązane efekty obszarowe: 
                        T1A_K01, T1A_K06