Działy grafiki komputerowej
• Sposób tworzenia
– Grafika rastrowa
– Grafika wektorowa
– Animacja
• Przestrzeń
– Grafika 2D
– Grafika 3D
• Animacja
Grafika wektorowa
Grafika wektorowa (obiektowa) – rodzaj grafiki, w której obraz opisany jest za
pomoc
ą figur geometrycznych – obiektów (w przypadku grafiki
dwuwymiarowej – odcinek, elipsa, prostok
ąt, krzywa, tekst) lub brył
geometrycznych (w przypadku grafiki trójwymiarowej), umiejscowionych w
matematycznie zdefiniowanym uk
ładzie współrzędnych, odpowiednio dwu-
lub trójwymiarowym. Ka
żdy z elementów, wchodzących w skład rysunku
wektorowego jest opisany i zapisany w postaci równa
ń matematycznych i
sekwencyjnych dotycz
ących ich komend. Linie i kształty reprezentowane są
zarówno w dwóch, jak i trzech wymiarach, z naniesionym kolorem lub bez
niego.
Ka
żdy obiekt stanowi niezależną część obrazu, zdefiniowaną za pomocą
takich w
łaściwości (standardowe atrybuty) jak: grubość i kolor linii rysowania,
kontur, wielko
ść i położenie na rysunku, kolor wypełnienia lub wypełnienie
gradientem lub wzorem, zaokr
ąglenia rogów oraz ich przekształcenia takie jak
konwersja figur elementarnych w krzywce, czy narz
ędzie „strzępienia”
krzywej, stopie
ń przeźroczystości.
Grafika wektorowa
Podstawowe korzy
ści wynikające ze stosowania matematycznego opisu
obrazów wektorowych to:
·
Ma
ły rozmiar plików,
·
Dobra jako
ść przeskalowanego obrazu, co oznacza, iż obrazy wektorowe
mo
żna nieograniczenie powiększać oraz zmieniać ich proporcję bez
uszczerbku na jako
ści.
·
Wektorowy obraz w odró
żnieniu od rastrowego nie utraci nic na jakości,
gdy zostanie powi
ększony (albo pomniejszony) kilka czy kilkanaście razy.
·
Nie ma
żadnego znaczenia to, że początkowo rysunek mieścił się na
kartce formatu A4 , a po powi
ększeniu ma zająć arkusz A0 – dane potrzebne
do zapisania informacji o grafice w obu przypadkach z
łożą się na plik o takiej
samej wielko
ści.
·
Du
ża możliwość modyfikacji poszczególnych elementów obrazu.
Poszczególne obiekty sk
ładające się na obrazek można dowolnie powiększać,
grupowa
ć, łączyć ze sobą itp.
Grafika wektorowa
•
Wykorzystuje obiekty geometryczne
•
Jakość przy skalowaniu
•
Języki opisu obrazu
– HPGL o pierwotny język obsługi
drukarki
stosowany w
ploterach
firmy
Hewlett-Packard
. Obecnie jest standardem dla prawie wszystkich
ploterów. W pewnym zakresie został wbudowany do
PCL
dla drukarek
laserowych.
Język ten składa się z serii dwuliterowych kodów oraz następujących po
nich opcjonalnych parametrów.
– PCL
– PostScript uniwersalny język opisu strony opracowany przez firmę
Adobe Systems
, będący obecnie standardem w zastosowaniach
poligraficznych
.
Pozwala on więc nie tylko opisać precyzyjnie wygląd strony, ale także
wykonywać złożone operacje na dostarczonych danych (np. wykonywanie
rozbarwień
)
•
Urządzenie wektorowe
– Ploter
• Oprogramowanie
– Corel Draw, Freehand, Illustrator
– AutoCAD
– Flash
– 3D Studio i podobne
• Formaty plików
– Własne programów wektorowych
– EPS, WMF, WPG, ?
– DXF, 3DS... .
Grafika wektorowa
Grafika wektorowa
Poniżej wymienione zostały główne cechy najbardziej znanych programów
opartych na grafice wektorowej:
• opis przestrzeni trójwymiarowych,
• elementarne figury: prostokąt, okrąg, łuk, wielokąt foremny, wielokąt
gwiaździsty, spirala, krzywe Béziera (czytaj: krzywe beziejj”),
• standardowe atrybuty: grubość i kolor linii rysowania, kolor wypełnienia
lub wypełnienie gradientem lub wzorem, zaokrąglenie rogów oraz ich
przekształcenia takie jak konwersacja figur elementarnych w krzywe, czy
narzędzie „strzępienia” krzywej, stopień przeźroczystości,
• grupowanie oraz scalanie obiektów ze sobą, operacje boolowskie między
obiektami (przycinanie, część wspólna itd.),
• wstawianie obrazu rastrowego (bez wektoryzacji) z możliwością
przekształcania go jako całość, import grafik wektorowych oraz wektoryzacji
grafik rastrowych,
•
biblioteka
obiektów pozwalająca na zapamiętanie ogólnego wzoru
obiektu, a następnie stosowanie poprzez odwołania do niego przy
podawaniu przekształceń dotyczących konkretnego egzemplarza,
• prowadnice (linie pomocnicze), siatki oraz linijki pomagające w dokładnym
umieszczaniu obiektów,
• podział obrazu na warstwy.
Grafika rastrowa
Obraz rastrowy traktowany jest jako zbiór punktów tej samej wielkości
(pikseli), uporządkowanych w wierszach i kolumnach. Opis obrazu
wykonanego za pomocą techniki rastrowej obejmuje zestaw
parametrów (położenie i kolor) określających poszczególne piksele.
Rozdzielczość określa dokładność, z jaką obrazek zostanie zapisany
w pliku, a także dokładność, którą można osiągnąć przy obróbce
obrazka zarówno przez urządzenia wejściowe (skaner, cyfrowy aparat
fotograficzny), jak i wyjściowe (drukarka). Rozdzielczość wpływa
zarówno na jakość obrazka rastrowego, jak i na rozmiar pliku, w
którym obraz jest zapamiętany.
Miarą rozdzielczości jest :
•
Liczba pikseli (ppi),
•
Punktów (dpi),
•
Linii (lpi)
przypadających na cal.
W przypadku skanowania wartości ppi i dpi jednakowo określają
jakość obrazu. Jeśli mówimy o rozdzielczości 300dpi, to oznacza to,
że skaner rozróżnia 300 punktów lub pikseli na cal.
Grafika rastrowa
• Nie wymaga konwersji do bufora
• Utrata jakości przy skalowaniu
• Związana z urządzeniem i położeniem
• Rozmiar piksela
• Antialiasing·
zespó
ł technik w
informatyce
s
łużących
zmniejszeniu b
łędów zniekształceniowych, powstających
przy reprezentacji obrazu lub sygna
łu o wysokiej
rozdzielczo
ści
w rozdzielczo
ści mniejszej.
• Operacje rastrowe (filtrowanie)
Grafika rastrowa
•
Oprogramowanie
•
Photoshop, PaintShop Pro, GIMP, ...
•
Formaty plików
Bezstratne:
- BMP – format bez kompresji co powoduje duże rozmiary pliku przechowującego
obraz,
- GIF – format powszechnie stosowany w publikacjach w Internecie:
256 kolorów,
wysoka kompresja,
przeplot,
animacja,
przeźroczyste tło,
- PNG – przewiduje tryby o niskiej ilości kolorów (paletowe od 2 do 256 oraz tryb
skali szarości), przydatne w sytuacjach, gdy nadmiarowa informacja jest
niewskazana (tj. gdy ważniejsza od subiektywnej wierności oryginałowi jest treść
obrazu),
- TIFF – istnieje wiele różnych sposobów zapisu obrazu w tym formacie, obraz
poddawany jest kompresji (bezstratnej), według zróżnicowanych metod,
Z kompresją: JPEG – format powszechnie stosowany w publikacjach w
internecie, charakteryzujący się bardzo dużą kompresją,
•
Postprodukcja
– AfterEffects
Etapy tworzenia grafiki
• Modelowanie
• Oświetlenie i cieniowanie
• Usuwanie powierzchni niewidocznych
• Tekstura
• Efekty specjalne
• Rendering
• Post-produkcja
• Inne
Modelowanie 1
Modelowanie — w
grafice 3D
proces tworzenia i modyfikacji
obiektów trójwymiarowych
za pomoc
ą specjalizowanego programu komputerowego, zwanego modelerem. Modeler
dostarcza zestawu niezb
ędnych narzędzi, a także często zbioru podstawowych figur
np.
prostopad
łościanów
,
kul
,
torusów
i innych, które mo
żna wykorzystać od razu przy
budowaniu obiektów.
Obiekty 3D są przeważnie budowane z
siatek wielokątów
lub definiowane przy pomocy
krzywych parametrycznych (np.
NURBS
), modelery używają obu reprezentacji. Siatka
wielokątów ma tę przewagę, że łatwo można deformować obiekt (np. skręcać, wyginać,
stosować system kości), z kolei krzywe parametryczne w naturalny sposób tworzą
gładkie powierzchnie.
Modelowanie 2
• Figury obrotowe
• Transformacje geometryczne
• Swobodne deformacje
Oświetlenie i cieniowanie
• Optyka !
• Źródła światła
– Punktowe, stożkowe
– Światło otoczenie (odbite)
– Światło kolorowe
• Model Phonga
• Obliczanie normalnej
• Cieniowanie wielokątowe
Optyka
to dział
fizyki
, zajmujący się badaniem natury
ś
wiatła
, prawami opisującymi jego
emisję
,
rozchodzenie się, oddziaływanie z
materią
oraz
pochłanianie przez materię. Optyka
wypracowała specyficzne metody pierwotnie
przeznaczone do badania światła widzialnego
O
O
O
Ośśśświetlenia
wietlenia
wietlenia
wietlenia Phonga
Phonga
Phonga
Phonga - model oświetlenia stosowany w
grafice komputerowej
służący do modelowania odbić
zwierciadlanych od nieidealnych obiektów.
Model ten przyjmuje, że powierzchnia obiektu jest pokryta
bardzo cienką przezroczystą warstwą, na której zachodzi
odbicie zwierciadlane, tzn. światło nie zmienia swojej barwy,
natomiast na powierzchni znajdującej się pod tą warstwą
następuję
odbicie rozproszone
, które zabarwia światło na
kolor przypisany do obiektu. W świecie rzeczywistym takimi
właściwościami cechują się np. błyszczące
plastiki
czy
powierzchnie pomalowane bezbarwnym lakierem.
Usuwanie powierzchni niewidocznych
• Z- bufor (bufor g
łę
łę
łę
łębokośśśści) - wykorzystywany w systemach wyświetlających
obrazy trójwymiarowe, przechowuje wspó
łrzędną Z (głębokość, odległość od
obserwatora) dla ka
żdego
piksela
obrazu. Dzi
ęki temu uzyskuje się poprawny
obraz, tzn. taki, w którym obiekty trójwymiarowe s
ą prezentowane zgodnie z
ich wzajemnymi relacjami przes
łaniania.
• Ray tracing technika generowania fotorealistycznych obrazów scen
trójwymiarowych
• Metody dla figur wypuk
łłłłych (sześśśścian)
Tekstura
Tekstura
Tekstura
Tekstura
Tekstura ---- w sensie ogólnym oznacza cechę powierzchni przedmiotu,
wrażenie, które odczuwa się za pomocą
dotyku
dotyku
dotyku
dotyku
. Teksturą nazywa się
też charakterystyczne dla danego materiału powtarzalne wzory na
powierzchni przedmiotów, jak np.
ssssłłłłoje
oje
oje
oje
drewna.
•••• Tekstury 2D
Tekstury 2D
Tekstury 2D
Tekstury 2D
•••• Generowanie tekstur
Generowanie tekstur
Generowanie tekstur
Generowanie tekstur
•••• Tekstury proceduralne
Tekstury proceduralne
Tekstury proceduralne
Tekstury proceduralne to w
grafice komputerowej
(głównie w
grafice 3D
)
nazwa
tekstur
, które są tworzone na podstawie określonych procedur
matematycznych (
algorytmów
). Tekstury proceduralne charakteryzuje
praktycznie nieskończona dokładność, bowiem w odróżnieniu od
tekstur bitmapowych, kolor punktu jest funkcją współrzędnych
rzeczywistych, a nie całkowitych. Możliwe jest więc dowolne
powiększanie takiej tekstury - oczywiście na tyle, na ile pozwala
precyzja obliczeń.
• Tekstury 3D
Tekstury 3D
Tekstury 3D
Tekstury 3D
Proces nakładania tekstury
Tekstura
• Mapowanie nierównośśśści przyporządkowanie jednych zasobów
systemowych do drugich, Mapowanie pozwala na
emulacj
ę
sprz
ętu,
wzrost szybko
ści systemu, komfortu i rozszerzenie funkcjonalności.
• Próbkowanie zwykle kojarzone jest z jednym z etapów przetwarzania
np. sygna
łu analogowego na
cyfrowy
.
• Operacje logiczne na buforze (XOR, OR, AND)
• Przeźroczystość
Efekty specjalne
• Efekty atmosferyczne
– Mgła, tęcza
• Efekty przestrzenne
– Dym, ogień ,pochłanianie...
• Inne
Rendering
Rendering
Rendering
Rendering---- (lub obrazowanie) - to w
grafice 3D
przeliczenie danej sceny i utworzenie pliku wyjściowego
w formie obrazu statycznego lub animacji. Podczas
renderowania wyliczane są m.in. odbicia, cienie,
załamania światła, mgła, atmosfera, efekty
wolumetryczne. Jest to bardzo czasochłonna operacja
nie wymagająca, poza przygotowaniem, żadnej
ingerencji ze strony człowieka.
• 3D do 2D
• Okno – obcinanie
• Rzutowania
• Perspektywa
• Usuwanie linii i powierzchni niewidocznych
• Cieniowanie
Post
Post
Post
Post----produkcja
produkcja
produkcja
produkcja
• Filtrowanie – wykrywanie krawędzi, gradienty
• Filtry artystyczne
• Obróbka obrazu – kontrast, kolorystyka, usuwania/
dodawania szumu
• Efekty wideo
• Kompozycja
Animacja - oprogramowanie
• Popularne programy
– 3D Studio MAX, Lightwave, Maya, Softimage
• Programy firmowe
• Systemy do animacji
• PIXAR (RenderMan – BMRT)
• Języki opisu animacji
• Animacja 2D (kreskówki)
Animacja - tworzenie
• Model (Grafika 3D lub 2D)
• Materiał
• Światło
• Ruch
• Post-produkcja
•
Animacja tradycyjna (poklatkowa)
animacja
stworzona na podstawie
klatek
będących
zdjęciami
.Animator do zrobienia każdej klatki
przekształca nieznacznie obiekty - zmienia położenie względem
nieruchomego tła lub innych animowanych obiektów (obiektem może
być dowolny kształt linearny, płaski, albo przestrzenny). Po połączeniu
klatek animowane obiekty wyświetlane w formie
filmu
sprawiają
wrażenie
ruchu
•
Klatki kluczoweelement łączący
klatki pośrednie
w procesie
animacji
.
Klatka kluczowa zawiera kluczową dla danej sekwencji ruchu
informację na temat pozy (w przypadku animacji człowieka) lub
rozmieszczenia elementów danej
sceny
(w przypadku animacji
obiektów). Występuje co określoną, ale nie koniecznie stałą, liczbę
zwykłych klatek pośrednich - uwarunkowane jest to typem danej
animacji.
Animacja – tworzenie (2)
Animacja – tworzenie (2)
• Automatyczne generowania ruchu
• Kinematyka i kinematyka odwrotna
• Modele fizyczne (dynamika)
System graficzny
Procesor
Pamięć
Bufor to obszar pamięci służący do przechowywania danych
do komunikacji pomi
ędzy dwoma systemami, bufor
karty
graficznej
– to co ma zosta
ć wyświetlone na
ekranie
.Bufory
umo
żliwiają asynchroniczną komunikację między systemami.
Urządzenia wyjściowe
Urządzenia wejściowe
Procesor
• Główny procesor komputera
• Procesory graficzne
• Przetwarzanie informacji
• Obsługa urządzeń zewnętrznych
• Szyna danych
• Programowa symulacja
• Systemy wieloprocesorowe
Pamięć
• Rozmiar
• Czas dostępu
• Adresowanie
• Pamięć grafiki
• Pamięć ogólnego przeznaczenia
• Pamięć karty graficznej
Bufor
• Systemy komputerowe – rastrowe
• Frame buffer (zawiera piksele do
wyświetlenia)
• Głębokość bufora – liczba bitów na piksel
obrazu (RGB, 24 lub 32 – alpha)
• Rozdzielczość – liczba pikseli w buforze
• Rasteryzacja wykonywana „do bufora”
Urządzenia wejściowe
• Klawiatura
• Wskaźniki, mysz i podobne
• Tablet graficzny
• Pióro świetlne
• Monitory dotykowe
• Wejście 3D
• Skaner
• Aparat cyfrowy
• Głos ?
Urządzenia wyjściowe
• Monitor (CRT)
– Przeplot
– Odświeżanie
• Ploter
• Drukarka
• Urządzenia pomiarowe
• Co to jest
- program służącym do ray tracingu
(technika generowania fotorealistycznych
obrazów scen trójwymiarowych).
Wykorzystywany jest g
łównie do tworzenia
grafiki trójwymiarowej.
• www.povray.org
• www.irtc.org
• Megapov
• Modelery vs. Język opisu
• Przykłady
POV - Ray
Przykłady