Grafika i Animacja Komputerowa dr Ewa Lach Zakład Oprogramowania, Instytut Informatyki
Plan Grafika rastrowa / wektorowa Rozdzielczość obrazu Barwy Grafika 3D Modelowanie i renderowanie obiektów Animacja komputerowa Dwuwymiarowa / trójwymiarowa Techniki
Definicja Grafika komputerowa dział informatyki zajmujący się wykorzystaniem komputerów do generowania obrazów oraz wizualizacją rzeczywistych danych.
Klasyfikacja Kryterium: technika tworzenia obrazów/ reprezentacja danych Grafika rastrowa Grafika wektorowa
Grafika rastrowa Obraz zapisywany jest w postaci dwuwymiarowej tablicy pikseli (bitmapie), którym przypisywane są odpowiednie kolory b - biały z zielony c - czerwony 10 10 b b z b b b b b b b c c c z c...
Grafika wektorowa Obraz opisywany za pomocą figur geometrycznych (ciągu matematycznych wzorów) P(0,1,4,6) c brak L(2,0,9,7) z E(4,5,5,5) n Ŝ
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć ( wraz z wzrostem liczby pikseli szybko rośnie wielkość plików) Grafika wektorowa mała zajętość pamięci (niezaleŝna od rozmiaru, funkcja ilości i złoŝoności opisu elementów składowych obrazu)
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja (nie pozwala na dokonywanie transformacji geometrycznych na elementach składowych obrazu) Grafika wektorowa mała zajętość pamięci łatwość modyfikacji (płynne transformacje całości obrazu i jego elementów bez utraty jakości prezentacji)
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja (nie pozwala na dokonywanie transformacji geometrycznych na elementach składowych obrazu) Grafika wektorowa mała zajętość pamięci łatwość modyfikacji (płynne transformacje całości obrazu i jego elementów bez utraty jakości prezentacji) Źródł: http://pl.wikipedia.org/
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja dopasowanie do urządzeń wyjściowych Grafika wektorowa mała zajętość pamięci łatwość modyfikacji konieczność konwersji do urządzeń wyjściowych (wyświetlacze rastrowe)
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja dopasowanie do urządzeń wyjściowych łatwość implementacji umoŝliwia uzyskanie duŝego realizmu kolorystycznego poprzez indywidualne określenie barwy kaŝdego elementu Grafika wektorowa mała zajętość pamięci łatwość modyfikacji konieczność konwersji do urządzeń wyjściowych (wyświetlacze rastrowe) analityczny opis doskonale nadaje się do reprezentowania obrazów zawierających elementy strukturalne
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja dopasowanie do urządzeń wyjściowych łatwość implementacji Grafika wektorowa mała zajętość pamięci łatwość modyfikacji konieczność konwersji do urządzeń wyjściowych (wyświetlacze rastrowe) analityczny opis
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja dopasowanie do urządzeń wyjściowych łatwość implementacji Grafika wektorowa mała zajętość pamięci łatwość modyfikacji konieczność konwersji do urządzeń wyjściowych (wyświetlacze rastrowe) analityczny opis
Porównanie Grafika rastrowa duŝe zapotrzebowanie na pamięć trudna modyfikacja dopasowanie do urządzeń wyjściowych łatwość implementacji Grafika wektorowa mała zajętość pamięci łatwość modyfikacji konieczność konwersji do urządzeń wyjściowych (wyświetlacze rastrowe) analityczny opis
Przykłady zastosowania Grafika wektorowa Rysunek techniczny Komputerowe wspomaganie Komputerowe wspomaganie projektowania (Computer Aided Design CAD)
Przykłady zastosowania Grafika wektorowa Rysunek techniczny Komputerowe wspomaganie projektowania (Computer Aided Design CAD) Źródło: Z. Postawa Grafika Komputerowa
Przykłady zastosowania Grafika wektorowa Rysunek techniczny Komputerowe wspomaganie projektowania (Computer Aided Design CAD) Programy rysujące wykresy Animacje Macromedia Flesh (WWW)
Przykłady zastosowania Grafika rastrowa Grafika fotorealistyczna Telewizja cyfrowa i wideo Internet Fotografia cyfrowa Cyfrowa obróbka obrazu
Cyfrowa obróbka obrazu Źródło: http://glennferon.com/portfolio1/portfolio34.html
Cyfrowa obróbka obrazu Źródło: http://glennferon.com/portfolio1/portfolio34.html
Rozdzielczość Piksel najmniejszy element obrazu, któremu moŝna przyporządkować dowolny kolor Punkt najmniejszy element obrazu urządzenia wyjściowego (drukarki, naświetlarki etc.) 800x600 rozdzielczość obrazu
Rozdzielczość Piksel najmniejszy element obrazu, któremu moŝna przyporządkować dowolny kolor Punkt najmniejszy element obrazu urządzenia wyjściowego (drukarki, naświetlarki etc.) 800x600 rozmiar obrazu
Rozdzielczość Rozdzielczość najczęściej wyraŝamy w: dpi (dot per inch) liczba punktów na cal, wyraŝająca rozdzielczość urządzenia (skanera, drukarki). ppi (pixel per inch) liczba pikseli na cal, wyraŝająca rozdzielczość obrazu cyfrowego Drukarki i urządzenia naświetlające mają najczęściej ustaloną rozdzielczość. Rozdzielczość monitora zaleŝy od jego przekątnej oraz od ustawionych rozmiarów obrazu
Rozdzielczość monitora Rozdzielczość monitora zaleŝy od jego przekątnej oraz od ustawionych rozmiarów obrazu Źródło: Jacek Tarasiuk - Wprowadzenie do grafiki komputerowej v.2006
Rozdzielczość Rozdzielczość obrazu przeznaczonego do wydruku 1 cal = 2,54 cm Przykład: 10x15 cm, 300 ppi 3,937 x 5,906 cali 1181 x 1772 pikseli Źródło: Jacek Tarasiuk - Wprowadzenie do grafiki komputerowej v.2006
Rozdzielczość Rozdzielczość obrazu przeznaczonego do wyświetlania w przeglądarce internetowej Rozdzielczość obrazu przeznaczonego do wydruku 1 cal = 2,54 cm Przykład: 10x15 cm, 300 ppi 3,937 x 5,906 cali 1181 x 1772 pikseli 72 ppi 41,66 x 62,51 cm Źródło: Jacek Tarasiuk - Wprowadzenie do grafiki komputerowej v.2006
Barwa Pojęcie barwy jest pojęciem subiektywnym. WraŜenie związane z odbiorem barwy jest zaleŝne (poza warunkami obserwacji) od indywidualnych cech obserwatora. Z tego względu trudno jest opracować teorię jednolicie opisującą wszystkie zjawiska związane z pojęciem barwy
Modele Barw Ukierunkowane na uŝytkownika HSV interaktywna metoda doboru odpowiedniej barwy Ukierunkowane na sprzęt - RGB, CMY, CMYK NiezaleŜne od urządzenia - CIE XYZ, CIE La*b*
HSV W modelu HSV kaŝdą barwę opisuje trójka liczb Odcień (kolor, ton) Hue - róŝnica jakościowa barwy (np. czerwony, zielony) określana w fizyce przez dominującą długość fali. Nasycenie -Saturation Jaskrawość Value / Brightness
HSV - odcień Źródło: Adobe Photshop
Munsell model koło kolorów Sposób reprezentacji przestrzeni kolorów Odcień Nasycenie Jaskrawość
HSV - odcień Źródło: Adobe Photshop
HSV W modelu HSV kaŝdą barwę opisuje trójka liczb Odcień (kolor, ton) Hue Nasycenie -Saturation - KaŜda barwa moŝe Nasycenie -Saturation - KaŜda barwa moŝe posiadać róŝny stopień nasycenia. Od zera, dla którego odnosimy jedynie wraŝenie jasności i nie potrafimy rozróŝnić koloru do jeden, gdy barwa jest w pełni nasycona (np. biel, róŝ, czerwień)
HSV - nasycenie Źródło: Adobe Photshop
HSV - nasycenie Źródło: Adobe Photshop
HSV - nasycenie Źródło: Adobe Photshop
HSV W modelu HSV kaŝdą barwę opisuje trójka liczb Odcień (kolor, ton) Hue Nasycenie -Saturation Jaskrawość Value / Brightness - Stopień zawartości światła białego w danej barwie
HSV - jaskrawość Źródło: Adobe Photshop
HSV - jaskrawość Źródło: Adobe Photshop
Munsell model koło kolorów Sposób reprezentacji przestrzeni kolorów Odcień Nasycenie Jaskrawość
Modele Barw Ukierunkowane na uŝytkownika HSV interaktywna metoda doboru odpowiedniej barwy Ukierunkowane na sprzęt - RGB, CMY, CMYK NiezaleŜne od urządzenia - CIE XYZ, CIE La*b*
RGB W modelu RGB barwa przedstawiana jest jako trójka liczb r, g i b. KaŜda liczba reprezentuje intensywność barwy składowej czerwonej ( Red ) zielonej ( Green ) niebieskiej ( Blue ) RBG(0,0,0) - czarny RGB(1,1,1) biały Model barw stosowany w monitorach ekranowych
CMY W modelu CMY barwa przedstawiana jest jako trójka liczb c, m i y. KaŜda liczba reprezentuje intensywność barwy: seledynowy ( Cyan ) purpurowy ( Magenta ) Ŝółty ( Yellow )
CMYK PoniewaŜ w praktyce trudno jest otrzymać prawdziwie czarny kolor mieszając barwy podstawowe CMY często dodaje się dodatkowo kolor czarny (black). Mówimy wówczas o modelu CMYK. Model barw stosowany w drukarkach, ploterach i poligrafii
CMY, CMYK CMY CMYK k= min(c,m,y) CMYK(c-k,m-k,y-k,k)=CMY(c,m,y) ( + ( C M Y 0.4 0.2 0.4 0.5 0.4 ) ) K ( + ( C M Y 0.2 0.5 0.4 ) ) ( 0.4 0.6 0.9 ) ( 0.2 0.5 0.4 )
Sześciokąt kolorów Sposób reprezentacji przestrzeni kolorów
Sześciokąt kolorów Sposób reprezentacji przestrzeni kolorów
RGB, CMY CMY RGB RGB(1-c,1-m,1-y)=CMY(c,m,y) RGB CMY CMY(1-r,1-g,1-b)=RGB(r,g,b)
Głębia kolorów Głębokość bitowa - liczba bitów przeznaczona do zapisu wartości barwy. Najczęściej spotykane ustawienia: Obraz czarno-biały (maks. 2 barwy). Głębokość bitowa: 1 bit Obraz w odcieniach szarości (maks. 256 odcieni szarości). Głębokość bitowa: 1 bajt
Głębia kolorów c.d. Obraz kolorowy w 256 kolorach (maks. 256 barw) Głębokość bitowa: 1 bajt KaŜdy bajt obrazu nie opisuje koloru tylko wskazuje na miejsce w tablicy kolorów Obraz Tablica kolorów
Głębia kolorów c.d. Hi Color ( maks. 2 3x5 lub 2 5+6+5 = = 32 768 lub 65 536 ) Głębokość bitowa: 15 lub 16 bitów True Color (maks. 2 3x8 16milionów) Głębokość bitowa: 24 bity
Zajętość pamięciowa obrazu (n m) głębokość bitowa barwy Obraz True Color: 1000x1000x24 bity = 24 000 000 B = 24000000/2 20 MB 22,888 MB.JPG: 709,71 KB
Zajętość pamięciowa obrazu (n m) głębokość bitowa barwy Obraz czarno-biały: 1000x1000 bity =1 000 000 B =1000000/1024 KB =976,5625 KB
Formaty zapisu grafiki Grafika rastrowa BMP, GIF, PNG, PCX, JPG, TIFF... Grafika wektorowa WMF, EPS, CDR, DXF...
Kanał alfa MoŜe być podawany dla kaŝdego piksela obrazu. Zawiera informacje o przezroczystości. Nakładanie częściowo przezroczystego obrazu na tło: RGB(ar T +(1-a)r O, ag T +(1-a)g O, ab T + (1-a)b O ), a <0,1> - stopień przezroczystości
Kanał alfa RGB(0.2200+0.8100, 0.2100+0.8200,0.2100+0.8100) = RGB(40+80,20+160,20+80) =RGB(120,180,100)
Grafika komputerowa- Klasyfikacja Kryterium: charakter danych Grafika dwuwymiarowa (2D) Grafika trójwymiarowa (3D)
Grafika dwuwymiarowa Grafika 2D moŝe zawierać w sobie modele geometryczne (grafikę wektorową), obrazy cyfrowe (grafikę rastrową), tekst (zdefiniowany przez styl i rozmiar czcionki, kolor, pozycję, i orientację), funkcje i równania matematyczne. Składowe te mogą być modyfikowane i manipulowane przez dwuwymiarowe transformacje geometryczne takie jak translacja, rotacja, skalowanie.
Grafika trójwymiarowa Obiekty obrazu są umieszczone w przestrzeni trójwymiarowej i celem programu komputerowego jest przede wszystkim przedstawienie trójwymiarowego świata na dwuwymiarowym obrazie.
Grafika 3D Modelowanie tworzony jest opis sceny 3D - kształtu i wyglądu obiektów, połoŝenia i charakterystyk źródeł światła,... Renderowanie (rendering) tworzenie dwuwymiarowego obrazu na podstawie modelu 3D.
Reprezentacja obiektów 3D Chmura punktów Powierzchnie 3D Bryły
Reprezentacja obiektów 3D Chmura punktów niestrukturalny zbiór punktów o współrzędnych (x,y,z) otrzymanych z systemów akwizycji obiektów 3D Powierzchnie 3D Bryły
Chmura punktów Źródło: http://www.smarttech.pl/
Chmura punktów Źródło: http://www.smarttech.pl/
Reprezentacja obiektów 3D Chmura punktów Powierzchnie 3D opis powierzchni obiektów 3D Bryły
Siatka wielokątowa Siatka wielokątowa / siatka wielokątów (mesh) Zbiór wierzchołków (vertex / vertices), krawędzi (edge) i wielokątów (polygon, face) tak połączonych, Ŝe kaŝda krawędź jest wspólna przynajmniej dla dwóch wielokątów krawędź łączy dwa wierzchołki wielokąt jest zamkniętą sekwencją krawędzi wierzchołek jest wspólny dla przynajmniej dwóch krawędzi kaŝda krawędź jest częścią jakiegoś wielokąta Najczęściej siatka składa się z trójkątów (łatwość przekształceń).
Siatka wielokątowa http://www.turbosquid.com
Bryły Najczęstsze reprezentacje: z przesuwaniem lub obrotem brzegowa z podziałem przestrzennym dekompozycja na komórki wokselowa drzewa ósemkowe konstruktywna geometria brył (CSG)
Bryły przesuwane i obrotowe Modelowanie prostych, symetrycznych brył Bryły przesuwane ( wyciągane ) przesuwanie płaskiego obiektu wzdłuŝ trajektorii w przestrzeni bryły obrotowe obracanie płaskiego wzorca wokół osi Np. z prostokąta moŝna uzyskać: bryłę przesuwaną prostopadłościan bryłę obrotową walec
Bryły przesuwane i obrotowe
Reprezentacja brzegowa brył (b-rep) Prosta metoda reprezentacji brył. Opisuje bryłę za pomocą: powierzchni ograniczających wierzchołków krawędzi ścian Stosowana jest np. przy tworzeniu brył złoŝonych z wielościanów. Powierzchnie mogą być krzywoliniowe.
Reprezentacje z podziałem przestrzennym Reprezentacja bryły za pomocą jej podziału na mniejsze bryły składowe. Dekompozycja na komórki Reprezentacja wokselowa Drzewa ósemkowe
Reprezentacje z podziałem przestrzennym Źródło: http://www.subdivision.org
Reprezentacje z podziałem przestrzennym Źródło: http://www.subdivision.org
Reprezentacje z podziałem przestrzennym Źródło: http://www.subdivision.org
Dekompozycja na komórki Podział bryły na prymitywy proste bryły róŝnego typu składane na zasadzie sklejania
Reprezentacja wokselowa Podział bryły na woksele identyczne elementy przestrzeni (najczęściej sześciany), uporządkowane wg stałej regularnej siatki Reprezentacja: woksel jest zajęty lub nie w kaŝdym miejscu siatki
Reprezentacja wokselowa Łatwość kodowania obiektu Nie ma miejsca na częściową zajętość wiele brył moŝe być tylko aproksymowanych Woksele mogą być zmniejszane dla zwiększenia dokładności opisu Ograniczenie pamięciowe (do reprezentowania obiektu o rozdzielczości n wokseli w kaŝdym kierunku trzeba n 3 wokseli )
Drzewa ósemkowe Reprezentacja wokselowa jest nadmiarowa. Konieczny jest opis wszystkich wokseli płaszczyzny. DuŜa zajętość pamięci. Modyfikacja metody wokselowej wykorzystanie drzew ósemkowych. Drzewa ósemkowe wywodzą się z drzew czwórkowych, słuŝących do kodowania obrazów na płaszczyźnie.
Drzewa czwórkowe Podział obszaru płaszczyzny na 4 kwadranty. Kodowanie kaŝdego kwadrantu: czarny cały kwadrant naleŝy do obiektu biały cały kwadrant nie naleŝy do obiektu szary kwadrant częściowo naleŝy do obiektu Kwadranty szare są rekurencyjnie dzielone i sprawdzane według tej samej metody.
Drzewa czwórkowe
Drzewa czwórkowe P
Drzewa czwórkowe P 0 P 1 P 2 P 3 P
Drzewa czwórkowe P P P P P E P E P
Drzewa czwórkowe P P P P P E P E P E E P E P P E E P E P P F E F E F E F F
Drzewa czwórkowe P P P P P E P E P E E P E P P E E P E P P F E F E F E F F E E F F F E F E F E F F F E F E E E F F F E E E
Drzewa ósemkowe Przestrzeń jest dzielona na 8 sześcianów. Kodowanie sześcianów za pomocą liczb. Metoda rekurencyjna, tak jak dla drzew czwórkowych.
Drzewa binarnego podziału przestrzeni (BSP) Dzielą rekurencyjnie przestrzeń na parę podprzestrzeni płaszczyzną o dowolnej orientacji i połoŝeniu
Konstruktywna geometria brył (CSG) Reprezentacja w postaci drzewa Liście drzewa - proste prymitywy elementarne bryły Węzły drzewa - operatory boolowskie (suma, iloczyn, róŝnica) oraz przekształcenia (przesunięcie, obrót, skalowanie) Uporządkowane krawędzie drzewa
Odwzorowanie szczegółów powierzchni Odwzorowanie tekstury - odwzorowanie szczegółów obiektu za pomocą nakładania tekstury na powierzchnie obiektu. Tekstura dwuwymiarowa mapa bitowa zawierająca pewien obraz. Teksel kaŝdy piksel tekstury
Odwzorowanie tekstur Źródło: http://www.turbosquid.com
Modelowanie Pełny model trójwymiarowy zawiera informację o: Kształcie obiektu (zbiór werteksów) Wyglądzie obiektu (kolor, tekstury) PołoŜeniu i rodzaju źródeł światła PołoŜeniu obserwatora (kamery)
Grafika 3D Modelowanie tworzony jest opis sceny 3D - kształtu i wyglądu obiektów, połoŝenia i charakterystyk źródeł światła, itp. Renderowanie (rendering) tworzenie dwuwymiarowego obrazu na podstawie modelu 3D.
Renderowanie Na podstawie opisu sceny: Wyznaczenie widoku dla połoŝenia obserwatora Obcięcie widoku do wielkości obrazu Wyznaczenie powierzchni widocznych Cieniowanie i teksturowanie obrazu
Model oświetlenia globalnego Wyznacza barwę piksela obrazu na podstawie promieni świetlnych: bezpośrednio od źródeł światła odbitych od powierzchni przepuszczonych przez powierzchnie przezroczyste i półprzezroczyste (załamanych)
Modelowanie oświetlenia Światło otoczenia pada jednakowo na wszystkie powierzchnie ze wszystkich kierunków. Obiekty oświetlane są jednolicie na całej powierzchni.
Światło otoczenia Kula oświetlona światłem otoczenia
Modelowanie oświetlenia Światło otoczenia. Światło rozproszone. Punktowe źródło światła promienie rozchodzą się równomiernie we wszystkich kierunkach z jednego punktu. Jasność obiektów w róŝnych punktach zaleŝy od kierunku padania promieni i odległości od źródła światła.
Światło otoczenia + światło rozproszone światło otoczenia światło rozproszone światło otoczenia+ światło rozproszone
Modelowanie oświetlenia Światło otoczenia. Światło rozproszone. Odbicie zwierciadlane.
Odbicie zwierciadlane Promienie światła padające na powierzchnię błyszczącą powodują jej rozświetlenie: zmianę jasności zmianę barwy (zaleŝnie od barwy światła)
Cieniowanie Ustalanie barwy obiektów na podstawie: Światła odbitego Powierzchni obiektów Szybkość Jakość Zastosowanie
Algorytmy oświetlenia globalnego ray-tracing radiosity radiosity + ray-tracing
Wyznaczania powierzchni widocznych Algorytm bufora głębokości (Z-Buffer) Metoda śledzenia promieni Algorytm malarski Eliminacja tylnych ścian
Algorytm bufora głębokości Potrzebne dwa obszary pamięci o takim samym rozmiarze: pamięć obrazu piksele-wartość barwy bufor z wartość z (głębokość) dla kaŝdego piksela Działanie algorytmu polega na szukaniu największej wartości z i dla kaŝdego punktu obrazu
Algorytm bufora głębokości Źródło: http://pl.wikipedia.org/wiki/bufor_z
Animacja Szybka projekcja sekwencji indywidualnych obrazów (klatek animacji) zmieniających się stopniowo z upływem czasu. Obrazy wyświetlane najczęściej z szybkością: 24 lub 30 klatek na sekundę
Animacja komputerowa Generacja obrazów animacji odbywa się z wykorzystaniem specjalistycznego oprogramowania komputerowego, a ruch obiektów pomiędzy dwoma klatkami często oblicza się na podstawie matematycznych wzorów.
Animacja komputerowa Oceniając technikę tworzenia animacji lub aplikację trzeba uwzględnić Szybkość generowania klatek (obrazów) animacji Łatwość kontrolowania wyglądu animacji Wymagania w stosunku do animatora MoŜliwość interaktywnego generowania animacji Zastosowanie określa wymagania (np. róŝne dla gier i filmu)
Animacja komputerowa Wspomaganie tradycyjnego procesu tworzenia animacji automatyczna generacja części klatek animacji Łączenie róŝnych warstw sceny Renderowanie obrazów w oparciu o geometryczny opis sceny Komputer dostarcza nowych zastosowań dla animacji: animacja w czasie rzeczywistym ( wirtualna rzeczywistość, gry, interaktywne media)
Animowane obiekty Swobodne, doskonale sztywne (ang. rigid) - brak poruszających się części Przegubowe (ang. articulated) posiadają części, pomiędzy którymi moŝliwy jest ruch Deformowalne (ang. deformable) np. ubranie Obiekty wykorzystujące prawa fizyki do symulacji ruchu (ang. dynamics) Systemy cząsteczkowe (ang. particle system) Behawioralne (ang. behavioral) opis zachowania
Animacja dwuwymiarowa Animacja sprite'ów (ang. sprite animation) Morphing Dodawanie i usuwanie obiektów obrazów (klatek animacji)
Animacja sprite'ów Sprite (dosł. duszek) dwuwymiarowy obrazek lub zbiór obrazków umieszczony na większej scenie, wywołujący wraŝenie ruchu Źródło: pl.wikipedia.org
Animacja sprite ów Zastosowanie Dwuwymiarowe gry, animacje (sprite sheet) Źródło: http://www.spriters-resource.com
Animacja sprite ów Zastosowanie Dwuwymiarowe gry, animacje (sprite sheet) Internet (strony www) Trójwymiarowe gry (do przedstawienia ognia, dymu, bardzo małych obiektów, małych roślin (np. źdźbło trawy) Efekty specjalne w filmie (ogień Balrog a Władca pierścieni) GUI np. wskaźnik myszy
Animacja dwuwymiarowa Animacja sprite'ów (ang. sprite animation) Morphing Dodawanie i usuwanie obiektów obrazów (klatek animacji)
Morphing Technologia przekształcania obrazu polegająca na płynnej zmianie jednego obrazu w inny.
Morphing Technologia przekształcania obrazu polegająca na płynnej zmianie jednego obrazu w inny. Kluczowe punkty początkowego i końcowego obrazu są ustawiane Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Morphing Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Animacja dwuwymiarowa Animacja sprite'ów (ang. sprite animation) Morphing Dodawanie i usuwanie obiektów obrazów (klatek animacji)
Animacja trójwymiarowa Modelowanie Animacja Renderowanie
Animacja trójwymiarowa Modelowanie Animacja Renderowanie procesy współzaleŝne
Animacja trójwymiarowa Modelowanie Pełny model trójwymiarowy zawiera informację o: Kształcie obiektu (zbiór wierzchołków) Wyglądzie obiektu (kolor, tekstury) PołoŜenie i orientacje obiektu PołoŜeniu i rodzaju źródeł światła PołoŜeniu obserwatora (kamery) Źródło: pl.wikipedia.org
Animacja szkieletowa Szkielet hierarchiczny system składający się z kości połączonych za pomocą stawów. Dla kaŝdej kości przechowywana jest transformacja kości w układzie współrzędnych wyznaczonym przez rodzica
Animacja szkieletowa
Animacja szkieletowa
Animacja szkieletowa Animacja szkieletowa - ruch jednej lub więcej kości modelu, czyli zmiana jej transformacji
Animacja szkieletowa Dla kaŝdej kości przechowywana jest transformacja kości w układzie współrzędnych wyznaczonym przez rodzica Relacje między wierzchołkami modelu a jego szkieletem są stałe i zaprojektowane przez grafika Pozycja kaŝdego wierzchołka modelu zaleŝy od co najmniej jednej kości szkieletu modelu.
Animacja szkieletowa Zalety Animując niewielki zestaw punktów kości poruszamy całym, nieraz bardzo złoŝonym modelem Oprócz warstwy szkieletu i siatki wielokątów stosuje się dodatkowe warstwy (np. mięśni/tkanki, ubrań, włosów, futra, zorientowanych prostopadłościanów ograniczających)
Animacja komputerowa Podział Dwuwymiarowa Trójwymiarowa Techniki Technika klatek kluczowych Systemy przechwytywania ruchu Kinematyka Dynamika Animacja behawioralna
Technika klatek kluczowych Tradycyjna metoda animacji Główny animator rysuje najwaŝniejsze sceny - klatki kluczowe (ang. keyframe) Asystenci domalowują klatki pośrednie (ang. tweens) Animacja komputerowa Animator określa klatki kluczowe Komputer (program) wylicza klatki pośrednie
Technika klatek kluczowych Klatki kluczowe Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Technika klatek kluczowych Klatki kluczowe Klatki pośrednie Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Technika klatek kluczowych Klatki kluczowe Klatki pośrednie Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Technika klatek kluczowych Zalety Względnie łatwa w uŝyciu Animator posiada nisko-poziomową kontrolę Wady śmudna i powolna Animator artysta Trudno wykorzystać otrzymaną animację ponownie lub poprawić Interpolacja niezgodna z oczekiwaniami
Interpolacja liniowa Źródło: http://ictlab.tyict.vtc.edu.hk/~nelsonc/hcimc/notes/
Animacja komputerowa Podział Dwuwymiarowa Trójwymiarowa Techniki Technika klatek kluczowych Systemy przechwytywania ruchu Kinematyka Dynamika Animacja behawioralna
Systemy przechwytywania ruchu (motion capture) Rejestracja ruchu obiektu w oparciu o czujniki, markery umieszczone na obiekcie Czujniki Sensory magnetyczne Mechaniczne Optyczne
Systemy przechwytywania ruchu Zalety Realistyczna animacja Wady Trudne do wykorzystania do sytuacji zmienionych w niewielkim stopniu innych obiektów Wykorzystywane technologie stawiają ograniczenia na ruch moŝliwy do wykonania Względnie drogie
Animacja komputerowa Podział Dwuwymiarowa Trójwymiarowa Techniki Technika klatek kluczowych Systemy przechwytywania ruchu Kinematyka Dynamika Animacja behawioralna
Kinematyka Opis ruchu abstrahuje od działających sił i bezwładności ciał. Określane są dla animowanych obiektów: Pozycja Szybkość Przyspieszenie Odnosi się do obiektów przegubowych (ang. articulated )
Kinematyka prosta Zdefiniuj względny obrót wybranej kości, przedział czasowy.
Kinematyka prosta Znamy ruchy stawów. Określamy połoŝenie końcowego obiektu w hierarchii.
Kinematyka odwrotna Zdefiniuj połoŝenie końcowego obiektu w hierarchii.
Kinematyka odwrotna Szukamy obrotów stawów obiektów wyŝej w hierarchii. Uwzględniamy ograniczenia nałoŝone na kąty obrotów stawów
Kinematyka odwrotna Szukamy obrotów stawów obiektów wyŝej w hierarchii. Uwzględniamy ograniczenia nałoŝone na kąty obrotów stawów oraz kolizje.
Animacja komputerowa Podział Dwuwymiarowa Trójwymiarowa Techniki Technika klatek kluczowych Systemy przechwytywania ruchu Kinematyka Dynamika Animacja behawioralna
Dynamika Wykorzystuje się prawa fizyki. Ustala się takie wielkości jak: waga, masa, bezwładność, waga, masa, bezwładność, elastyczność obiektu, grawitacja, tarcie, itd.
Dynamika Zalety Względnie łatwo generować podobne ruchy UmoŜliwia opisanie realistycznej, złoŝonej animacji UmoŜliwia generowanie odtwarzalnego ruchu Wady Wymaga uwzględnienia wszystkich sił działających na obiekt Słaba kontrola animatora
Animacja komputerowa Podział Dwuwymiarowa Trójwymiarowa Techniki Technika klatek kluczowych Systemy przechwytywania ruchu Kinematyka Dynamika Animacja behawioralna
Animacja behawioralna Opis zachowania postaci wirtualnych uwzględnia: Czynniki zewnętrzne Stan wewnętrzny postaci Cele postaci
Animacja behawioralna TRex() { jeŝeli(widzisz_człowieka i człowiek_blisko) zjedź_człowieka() albo jeŝeli (widzisz_człowieka) albo } goń_człowieka() szukaj_człowieka()
Animacja behawioralna Opis zachowania za pomocą: Skrypty Reguły Automaty skończone Drzewa decyzyjne Sieci neuronowe