Grafika komputerowa
Grafika komputerowa
Z czym to się je?
Z czym to się je?
Co to jest ??
Grafika komputerowa
– dział informatyki zajmujący się
wykorzystaniem komputerów do generowania obrazów oraz
wizualizacją rzeczywistych danych. Grafika komputerowa jest
obecnie narzędziem powszechnie stosowanym w nauce, technice,
kulturze oraz rozrywce.
Chociaż grafika komputerowa koncentruje się głównie na
specjalistycznych algorytmach i strukturach danych, to jednak siłą
rzeczy musi czerpać z innych dziedzin wiedzy. Na przykład aby
uzyskać obrazy fotorealistyczne, należy wiedzieć jak w
rzeczywistym świecie światło oddziałuje z przedmiotami.
Podobnie, aby symulacja jazdy samochodem była jak
najwierniejsza, należy wiedzieć, jak obiekty fizyczne ze sobą
oddziałują. Od kilkunastu lat grafika komputerowa jest też kolejną
dyscypliną artystyczną - dzieła powstałe przy jej zastosowaniu
nazywa się grafiką cyfrową, infografią, digitalprintem.
Przykładowe zastosowania:
• kartografia,
• wizualizacja danych
pomiarowych (np. w formie
wykresów dwu- i
trójwymiarowych),
• wizualizacja symulacji
komputerowych,
• diagnostyka medyczna,
• kreślenie i projektowanie
wspomagane
komputerowo (CAD),
• przygotowanie publikacji
(DTP),
• efekty specjalne w filmach,
• gry komputerowe.
Wytworzony
komputerowo,
fotorealistyczny obraz
Rys historyczny:
Początki grafiki komputerowej sięgają lat 50. XX wieku, jednak ze względu na duże
koszty komputerów i urządzeń graficznych, aż do lat 80. grafika komputerowa
była wąską specjalizacją, a na jej zastosowania praktyczne mogły pozwolić sobie
ośrodki badawcze, duże firmy oraz instytucje rządowe. Dopiero gdy w latach
osiemdziesiątych rozpowszechniły się komputery osobiste, grafika komputerowa
stała się czymś powszechnym. Narodziła się pod koniec lat pięćdziesiątych. Jej
pionierzy zaczynali realizować swoje projekty na bardzo kosztownych i trudnych
w obsłudze maszynach. Jednak ogromne sukcesy jakie odnosili realizatorzy tego
kierunku, spowodowały, że grono zainteresowanych tą dziedziną wciąż
powiększało się. Do pracy nad nowymi możliwościami i wykorzystaniem grafiki
komputerowej w różnych dziedzinach zawodowych, mobilizowały nie tylko
fundusze wpływające na ten cel, ale również szerokie zainteresowanie
przeróżnych instytucji. Dzięki dynamicznemu rozwojowi elektroniki, w latach 80-
tych, grafika była już dostępna dla większej rzeszy użytkowników komputerów
domowych. Dziś wiele dziedzin życia nie mogło by sprawnie funkcjonować bez
programów wykorzystujących grafikę komputerową. Możemy ją spotkać w
architekturze, prasie codziennej, laboratoriach chemicznych, przemyśle
twórczym, wojsku a nawet w szpitalu i rozrywce. Zwykli użytkownicy komputerów
również nie stronią od tej formy przekazu. Wzbogacają grafiką swoje dokumenty
w Wordzie lub w Excelu. Wykorzystują do tego celu rysunki typu ClipArt lub
obiekty.
Klasyfikacja
Ponieważ celem grafiki jest generowanie obrazów, dlatego jednym z
głównych kryteriów klasyfikacji jest technika ich tworzenia:
• Grafika wektorowa
–
obraz jest rysowany za pomocą kresek lub
łuków. Niegdyś powstawał tak obraz na ploterach kreślących, ale
jeszcze do lat 80. XX wieku były wykorzystywane monitory CRT,
które kreśliły obraz w analogiczny sposób jak oscyloskopy.
• Grafika rastrowa
–
obraz jest budowany z prostokątnej siatki
leżących blisko siebie punktów (tzw. pikseli). Głównym
parametrem w przypadku grafiki rastrowej jest wielkość
bitmapy, czyli liczba pikseli, podawana na ogół jako wymiary
prostokąta
Identyczny podział istnieje, jeśli weźmie się pod uwagę
reprezentację danych w programach komputerowych:
• Grafika wektorowa
–
w tym przypadku nazwa może być nieco
myląca, ponieważ obrazy mogą składać się nie tylko z
wektorów (odcinków), ale również z innych figur
geometrycznych. Cechą grafiki wektorowej jest to, że
zapamiętywane są charakterystyczne dla danych figur dane
(parametry), np. dla okręgu będzie to środek i promień, dla
odcinka współrzędne punktów końcowych, a dla krzywych
parametrycznych współrzędne punktów kontrolnych. Program,
jeśli musi narysować obraz na urządzeniu (bądź to rastrowym,
bądź wektorowym), na podstawie posiadanych danych
wygeneruje obraz tych figur – bardzo ważną zaletą tej
reprezentacji to możliwość dowolnego powiększania obrazów,
bez straty jakości.
Przewagą reprezentacji wektorowej nad rastrową jest to, że zawsze
istnieje dokładna informacja o tym, z jakich obiektów składa się
obraz. W przypadku obrazów bitmapowych tego rodzaju
informacja jest tracona, a jedyne, czego można bezpośrednio się
dowiedzieć, to kolor piksela. Istnieją jednak metody, które
pozwalają wydobyć z obrazów bitmapowych np. tekst, czy krzywe.
W chwili obecnej dominują wyświetlacze rastrowe, więc programy
wykorzystujące grafikę wektorową są zmuszone przedstawiać
idealne figury geometryczne w skończonej rozdzielczości.
• Grafika rastrowa
–
do zapamiętania obrazu
rastrowego potrzebna jest dwuwymiarowa tablica
pikseli nazywana powszechnie bitmapą. Nazwa wzięła się
stąd, że początkowo były rozpowszechnione systemy
wyświetlające obrazy czarno-białe, więc w takim
przypadku pojedynczy piksel mógł być opisany przez
jeden bit. Jednak gdy powszechniejsza stała się grafika
kolorowa, piksele zaczęły być opisywane więcej niż
jednym bitem – wówczas pojawiła się nazwa pixmapy,
która jednak nie przyjęła się (chociaż jest stosowana np.
w X Window).
Kolejnym kryterium, wg którego klasyfikuje się
zastosowania grafiki, jest charakter danych:
• Grafika dwuwymiarowa
(grafika 2D) – wszystkie
obiekty są płaskie (w szczególności każdy obraz
rastrowy wpada do tej kategorii).
•Grafika trójwymiarowa (grafika 3D)
Obiekty są umieszczone w przestrzeni trójwymiarowej i
celem programu komputerowego jest przede wszystkim
przedstawienie trójwymiarowego świata na
dwuwymiarowym obrazie. Grafika trójwymiarowa
popularnie zwana 3D (z angielskiego - dimension-
wymiar). Jest to grafika komputerowa, tworzona przez
programy do projektowania przestrzennego, dająca
złudzenie głębi obrazu, mimo że jest on wyświetlany na
płaskim ekranie. Grafika 3D umożliwia nam
wizualizację dowolnie skomponowanego obiektu.
Możemy nadawać mu dowolną powłokę (teksturę),
oświetlenie i przeprowadzać masę skomplikowanych
modyfikacji.
• Przykłady zastosowań grafiki 3D:
• Przemysł filmowy
• W latach dziewięćdziesiątych możliwości superkomputerów
będących na usługach wytwórni filmowych, umożliwiły produkcję
pełnometrażowych, animowanych, w pełni komputerowych filmów.
Pierwszym takim filmem był "Toy Story", który na dodatek odniósł
sukces kasowy (100 mln dolarów w Stanach po czterech
tygodniach wyświetlania).
•
"Toy Story" - pierwszy pełnometrażowy, animowany, w pełni
komputerowy film
• Potem były "Mrówka Z", "Toy Story 2", wreszcie przełomowy
"Shrek". W "Shreku" po raz pierwszy w filmie całkowicie
stworzonym za pomocą komputerów udało się odtworzyć postaci
tak bardzo podobne do realnych. Co więcej po raz pierwszy są to
postaci ludzkie, a stworzenie realistycznego wizerunku człowieka i
jego zachowania jest najtrudniejszą rzeczą w animacji
koputerowej. To już nie to samo co w filmach "Mrówka Z" albo
"Toy Story", w których bohaterami były mrówki i zabawki.
• Bohaterowie "Shreka" zostali ożywieni dzięki systemowi
animacji twarzy, stworzonemu przez specjalistów ze studia
PDI/Dream Works. Kluczem do sukcesu okazał się program
budujący twarze bohaterów z warstw odpowiadających
budowie anatomicznej człowieka. Na stworzone w
komputerze czaszki nakładano kolejna warstwy mięśni,
które potem obleka no skórą. Każda z dziesiątków
pojedynczych grup mięśniowych byłą odrębnie kontrolowana
i sterowana. Dzięki zastosowaniu olbrzymiej liczby
różnorodnych komend animatorom udało się osiągnąć o
wiele więcej niż tylko synchronizację ruchu warg
wirtualnych aktorów z mówionym przez nich tekstem - ich
postaci wyglądają niemal jak prawdziwi ludzie. W dodatku
każda z nich jest indywidualnością. Animatorzy musieli
uważać, nakładając im na twarze odpowiednie miny.
Komenda, która u jednej postaci wywoływała uśmiech, u
innej powodowała paskudny grymas.
• Technikę podobną jak podczas animowania twarzy zastosowano,
tworząc ciała, ubrania i wprawiając w ruch bohaterów "Shreka".
Udało się osiągnąć całkowitą synchronizację ruchu postaci z
ruchem stroju. Kiedy Shrek idzie, jego wytarta tunika porusza się
dokładnie tak samo, jak poruszałaby się na żywej postaci. Więcej
kłopotu animatorzy mieli z wiernym odtworzeniem ludzkiej skóry.
Twórcom filmu szczególnie zależało na pokazaniu przejrzystości i
delikatności cery księżniczki Fiony. Użyto do tego programu
Shader, który kreuje odpowiednie nasilenie cieni, przewidując,
jak dana powierzchnia reaguje na światło, aby twarz Fiony
wyglądała realistycznie i pięknie, poproszono nawet o pomoc
profesjonalnych makijażystów. Równocześnie włosy pięknej
księżniczki wymagały odpowiedniego traktowania - musiały
falować w rytm ruchu ciała, mieć połysk i różnorodne odcienie.
W "Shreku" zastosowano po raz pierwszy zaawansowane techniki
tworzenia ognia i różnego rodzaju płynów. Stworzone w tym celu
programy pozwoliły na pokazanie wody, piwa, mleka - a każdy z
tych płynów, na przykład nalewany do szklanki do szklanki,
zachowuje się inaczej.
• Oprócz samych postaci, którym poświęcono najwięcej uwagi i
pracy, PDI/Dream Works stworzyło również 36 bajkowych
plenerów, czyli całkowicie różnych od siebie miejsc akcji.
Widzowie będą mogli obserwować, jak bohaterowie wędrują z
siedziby Shreka na bagnach do ponurego zamczyska, w którym
jest uwięziona Fiona
• Powyżej kilka tapet z "Shreka". Wygląd postaci (szczególnie
ludzkich) jest niemal fotorealistyczny.
• Kreślenie i projektowanie wspomagane komputerowo
• W projektowaniu wspomaganym komputerowo (CAD) użytkownik
korzysta z grafiki interaktywnej do projektowania elementów i
systemów mechanicznych, elektrycznych, elektromechanicznych i
elementów elektronicznych, w tym takich struktur jak budynki,
karoserie samochodów, kadłuby samolotów i statków. Zazwyczaj
nacisk jest kładziony na interakcję z modelem komputerowym
projektowanego elementu albo systemu, ale niekiedy użytkownik
chce szybko uzyskać dokładne rysunki elementów i zespołów, np.
szkice architektoniczne.
• Przykłady grafik wykonanych przy pomocy oprogramowania typu
CAD
• Wykresy w biznesie, nauce i technologii
•
• Następnym bardzo popularnym obszarem zastosowań
dzisiejszej grafiki jest tworzenie wykresów 2D i 3D
funkcji matematycznych, fizycznych i ekonomicznych;
histogramów i wykresów kołowych; wykresów
harmonogramownia zadań; wykresów wielkości zapasów
i produkcji itd. Wszystkie te wykresy są używane do
prezentowania w przejrzysty i zwięzły sposób tendencji i
wzorów uzyskanych z danych, tak żeby wyjaśnić złożone
zjawiska i ułatwić podejmowanie decyzji.
•
• Dane ekonomiczne przedstawione w postaci wykresu
słupkowego 3D
• Symulacja i animacja dla wizualizacji naukowej i
rozrywki
• W wizualizacji naukowej i inżynierskiej coraz popularniejsze stają
się obrazy i filmy animowane generowane komputerowo,
pokazujące zmienne w czasie zachowanie się rzeczywistych i
symulowanych obiektów. Z narzędzi takich można korzystać przy
badaniu abstrakcyjnych wielkości matematycznych i modeli
matematycznych takich zjawisk jak przepływ cieczy, teoria
względności, reakcje jądrowe i chemiczne, systemy fizjologiczne i
działanie organów, deformacje struktur mechanicznych pod
wpływem różnych obciążeń. Inną dziedziną zaawansowanych
technologii jest produkcja efektów specjalnych w filmach.
Dostępne są wyrachowane mechanizmy modelowania obiektów i
reprezentowania świateł i cieni.
• Wizualizacja w symulatorach lotu
• Od początku istnienia grafiki komputerowej jednym z
najistotniejszych zastosowań są systemy wizualizacji dla potrzeb
symulatorów lotu. Wysokie wymagania stawiane takim systemom
wciąż stanowią stymulator rzwoju grafiki komputerowej.
• Efektywność szkolenia w symulatorze zależy od dokładności odtworzenia
warunków rzeczywistego lotu. Dotyczy to zarówno samej konstrukcji
kabiny i przyrządów pokładowych, jak też symulacji wrażeń
odczuwanych przez pilota w czasie lotu, takich jak przechyły, wstrząsy,
przeciążenia, wibracje, hałas oraz wrażenia wzrokowe. Znaczenia
symulacji wrażeń wzrokowych jest na tyle duże, że systemy wizualizacji
znajdują się w każdym nowoczesnym symulatorze lotu.
Przy realizacji systemów wizualizacji naturalne jest dążenia do uzyskania
jak największego generowanych obrazów. W idealnym przypadku
wrażenia wzrokowe pilota podczas symulacji nie powinny się różnić od
wrażeń pilota w rzeczywistym samolocie. W praktyce ciągle jeszcze
konieczne jest dokonywanie wyborów kompromisowych między
wiernością odtwarzanego świata a czasem generowania kolejnych
obrazów.
• Symulator z zewnątrz (SU22) i od środka (F22)
• Medycyna
• Grafika komputerowa odgrywa coraz większą rolę w takich dziedzinach
jak diagnostyka medyczna lub planowanie operacji. W tym ostatnim
przypadku chirurdzy korzystają z grafiki do wspomagania kierowania
przyrządami i do dokładnego określania w którym miejscu należy usunąć
chorą tkankę
Jeszcze jednym kryterium jest cykl generacji obrazu:
• Grafika nieinterakcyjna
–
program wczytuje uprzednio
przygotowane dane i na ich podstawie tworzy wynikowy obraz.
Tak działa np. POV-Ray, który wczytuje z pliku definicję sceny
trójwymiarowej i na jej podstawie generuje obraz sceny.
• Grafika interakcyjna
–
program na bieżąco uaktualnia obraz
w zależności od działań użytkownika, dzięki temu użytkownik
może od razu ocenić skutki. Bardzo ważne w tym przypadku
jest, że czas odświeżenia obrazu nie może być zbyt długi.
Dlatego w przypadku grafiki interakcyjnej akceptuje się i
stosuje uproszczone metody rysowania obiektów, aby
zminimalizować czas oczekiwania.
• Grafika czasu rzeczywistego
–
program musi bardzo szybko
(kilkadziesiąt razy na sekundę) regenerować obraz, aby
wszelkie zmiany były natychmiast uwidocznione. Grafika czasu
rzeczywistego ma szczególnie znaczenie w różnego rodzaju
symulatorach, jest również powszechna w grach
komputerowych.
Popularne programy
graficzne:
• Programy do grafiki rastrowej
:
Adobe Photoshop
Corel PHOTO-PAINT z pakietu CorelDRAW
Deneba Canvas
GIMP
IrfanView
Adobe Fireworks
Painter
PaintShopPro
•Popularne programy do grafiki wektorowej
:
AutoCAD
CorelDraw
Adobe FreeHand
Adobe Flash
Adobe Illustrator
Sketch
Inkscape
Sodipodi
Star Office Draw (jedna z części pakietu)
TechCAD
Xfig
Xara Xtreme
Gimp
•Popularne programy do grafiki 3D:
Anim8or
Blender (program)
Lightwave
Cinema 4D
Maya
Povray
Rasterman
SOFTIMAGE|XSI
3D Studio i 3D Studio Max
Zmodeler
Popularne formaty
graficzne:
• Popularne formaty grafiki bitmapowej:
BMP
GIF
JPEG
PCX
PNG
TIFF
XCF
PPM
•Popularne formaty grafiki wektorowej:
SVG
AI
CDR
EPS
PSD
Popularne biblioteki
graficzne:
•DirectX, interaktywna
•GD, nieinteraktywna
•GTK+, interaktywna
•OpenGL, interaktywna
Programy do edycji i przetwarzania map
bitowych-charakterystyka
Programy te oprócz edycji i przetwarzania map bitowych mogą być
również przydatne do retuszu i obróbki zdjęć.
W programach tego typu tworzymy rysunki od podstaw lub
modyfikujemy już istniejące, będące zwykle wynikiem skanowania
gotowych rysunków czy fotografii. W grupie tych programów istnieje
sporo programów przeznaczonych do domowych zastosowań (Paint)
jak i profesjonalnych, używanych w poligrafii i reklamie. Photoshop
Adobe, Paint Shop Pro, Picture Publisher i Corel Photo-Paint.
Zasadnicza różnica pomiędzy programem domowym a profesjonalnym
polega na możliwości wyprodukowania w aplikacji pliku
przeznaczonego do wydruku. Tylko specjalny zbiór dyskowy nadaje
się di rozpoczęcia procesu naświetlania i wydruku. Najogólniej
ujmując, technologia przygotowania do druku jest następująca :
zbiór*. ps (postscript) lub *.prn (dla konkretnego urządzenia) jest
kierowany do naświetlarki. Tam na jego podstawie powstają cztery
klisze (dla druku czarno-białego jedna). Każda z nich zawiera negatyw
jednego z kolorów modelu CMYK (cyjan, magenta, yellow, black).
Za pomocą klisz naświetla się matryce pokryte materiałem
światłoczułym. Po ich wypłukaniu nakłada się je kolejno na bębnie
drukarni offestowej. Rozpoczyna się druk pierwszego koloru.
Spotykane w grafice komputerowej mapy bitowe mogą posiadać
rózny format (pliki przechowujące mapy bitowe mogą posiadać
różne rozszerzenie). Jest to spowodowane tym, że programy z tej
grupy umożliwiają zapisywanie przetworzonych plików we
własnym formacie. Każdy z tych programów posiada jednak
możliwość konwersji obrazów na format ogólnie dostępny. Kilka
najpopularniejszych formatów map bitowych przedstawiam
poniżej:
• BMP- charakterystyczne rozszerzenie nazwy plików zawierających
mapę bitową, wykorzystywane przez system Windows oraz wiele
innych aplikacji.
• JPEG- jeden z najpopularniejszych obecnie formatów map
bitowych przechowujący obraz w postaci skompresowanej, bez
wyraźnej straty na jakości obrazu. Pliki te posiadają rozszerzenie
jpg.
• GIF- rozszerzenie kolorowych plików graficznych (256
kolorów), które cechują się małą ilością zajmowanego
przez nie miejsca. Jest to możliwe dzięki zastosowanej
w nich kompresji bez straty jakości obrazu.
•
• PCX- rozszerzenie bitmapowych plików
przechowujących grafikę w starszych wersjach systemu
Windows.
•
• TIFF- format pliku opracowany specjalnie z myślą o
aplikacjach służących do składu publikacji i
obsługiwany przez wszystkie programy do edycji
grafiki. Pliki zapisane w tym formacie posiadają
rozszerzenie tif.
To by było na tyle teraz
roszkę przykladów w
praktyce: