Modelowanie Animacja

advertisement
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)
Źródł: http://pl.wikipedia.org/
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
 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
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ń
Jaskrawość
Nasycenie
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
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ń
Jaskrawość
Nasycenie
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
C
K
(
0.2 0.5 ) (
+
+
( 0.4 0.4 0.4 ) (
( 0.4 0.6 0.9 )
(
M
Y
0.2 0.5
)
0.4 )
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. 23x5 lub 25+6+5 =
= 32 768 lub 65 536 )
Głębokość bitowa: 15 lub 16 bitów
„True Color”(maks. 23x8≈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/220 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(a—rT+(1-a)—rO , a—gT+(1-a)—gO ,
a—bT + (1-a)—bO ),
a∈<0,1> - stopień przezroczystości
Kanał alfa
RGB(0.2—200+0.8—100,
0.2—100+0.8—200,0.2—100+0.8—100)
= RGB(40+80,20+160,20+80)
=RGB(120,180,100)
Grafika komputerowaKlasyfikacja
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 n3 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
P
1
3
2
P
P
Drzewa czwórkowe
P
P
E
P
P
E
P
P
P
Drzewa czwórkowe
P
P
E
P
F E F E
P
E
P
F E F F
E
E
P
P
E
E
P
P
E
P
E
P
P
P
Drzewa czwórkowe
P
P
E
P
F E F E
P
E
P
F E F F
E
E
P
P
E E F F
E
E
P
F E F E
P
E
P
F E F F
E
P
F E F E
P
E E F F
P
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 zi
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ść,
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)
goń_człowieka()
albo
szukaj_człowieka()
}
Animacja behawioralna
Opis zachowania za pomocą:
Skrypty
Reguły
Automaty skończone
Drzewa decyzyjne
Sieci neuronowe
Download