Logo Politechniki Wrocławskiej
Jacek Cichoń
Katedra Informatyki
Wydział Podstawowych Problemów Techniki Politechniki Wrocławskiej

Grafika Komputerowa i Wizualizacja (2014/15)

Wykład jest przeznaczony dla studentów Informatyki I stopnia na WPPT.

Zalicznie kursu

Zaliczenie kursu będzie na podstawie ćwiczeń i laboratoriów: ustalają je prowadzący ćwiczenia. Ale jest jedno ograniczenie: kto będzie chciał otrzymać 5.0 lub 5.5 będzie musiał się ze mną spotkać i udowodnić mi, że zna dosyć biegle wszystkie narzędzia i techniki teoretyczne, które omówione będę na wykładzie (w szczególności Blendera).
Lista wymagań na ocenę $\geq 5$ znajduje się na dole tej strony.

Materiały

  1. Lista zadań (wersja z dnia 07.01.2015): GrafikaZadania2014.pdf.
  2. Don Cowan, HTML5 Canvas For Dummies, 2013, John Wiley & Sons, Inc.
  3. Blender For Dummies
  4. Ściąga z HTML 5 canvas
  5. Przykłady z wykładu 1: W1.ZIP
  6. Przykłady z wykładu 3: P1, P2, P3, P4, P5a, P5b, P5c, P5d.
  7. Przykład z wykładu 4: P1
  8. Przykład RAY-TRACER'a. Na jego podstawie będziecie pisali swojego ray-tracer'a.
  9. Prosta wersja Sintel: SimpleSintle.blend
  10. Link na film Sintel: https://durian.blender.org/
  11. Link na stronę z plikiem modelu Kara
  12. Link do strony MakeHuman: http://www.makehuman.org/
  13. Link do dobrego wprowadzenia do modelowania twarzy thundercloud-studio

Materiały pomocnicze

Canvas

  1. Proca grawitacyjna
  2. Zegarek, Zegarek binarny
  3. Krzywe Beziera

Zabawy z Blenderem

Bałwanek i iglo

Po nabraniu wprawy wygenerowanie powyższej sceny powinno wam zająć nie więcej niż 10 minut (spodziewam się, że na początku grudnia Blenderem będziecie się wszyscy posługiwali w miarę sprawnie).

Scena ze stołem, krzesłami

To jest jedno z zadań do zrobienia (wymodelowania podobnej sceny w Blenderze). Oceniam pracochłonność tego zadania na 20 - 30 minut.

Ludzik

Tym ludzikiem posłużyliśmy się do zilustrowania działania "kości". Będziemy go wykorzystywać do przyjrzenia się "Cycle Render" oraz pojęcia "nodes" (czyli implementacji shaderów w Blenderze).

Sintel

To jest mocno uproszczony model Sintel.

Sintel on mirror scene

Sintel na scenie z lustrami.

Blender

Animacja ta zapisana jest w formacie Theora (rozszerzenie .ogg). Nie powinno być problemów z przeglądarkami Chrome (od wersji 29) oraz Firefox od wersji 28.

Co trzeba umieć aby otrzymać 5.0 lub 5.5

Najpierw należy otrzymać zaliczenie na ocenę 5 lub 5.5. A oprócz tego należy znać:

  1. Na poczekaniu zbudowac prostą scenę w Blenerze (typu: stół + krzesła; bałwanek+iglo)
  2. W programie Inkscape za pomocą krzywych Beziera wymodelować prostą zadaną grafikę
  3. Zapisać obrót wokół zadanej prostej o zadany kąt w postaci macierzowej
  4. Wyznaczyć równanie półprostej odbitej od danej płaszczyzny
  5. Przeprowadzać proste obliczenia na liczbach zespolonych i kwaternionach
  6. Dynamicznie zmieniać elementy DOM za pomocą skrytu języka JavaScript (np. zmienić tło elementu div)
  7. Zrobić prostą grafikę na canvas 2D (możne mieć ściągę z poleceniami)
  8. Dynamicznie zmieniać własności obiektów rysowanych na canvas.
  9. Obliczać wyznaczniki
  10. Równanie ruchu w polu grawitacyjnym
  11. Nałożyć teksturę na prosty obiekt w Blenderze z wykorzystaniem UV-maps
  12. Znać równanie krzywych Beziera i ich podstawowe własności (np. własność otoczki)
  13. Znać wzór Phonga na oświetlenie
  14. Znać podstawowe własności iloczynu skalarnego i iloczynu wektorowego
  15. Wyznaczyć wektor normaly do zadanej powierzchni.
  16. Znać pojęcie gradientu funkcji
  17. Rozumieć dlaczego do opisu transformacji afinicznych przestrzeni $\mathbb{R}^3$ używamy macierzy rozmiaru $4\times 4$
  18. Jak i w jakim celu wypieka się tekstury.