Grafika komputerowa

Grafika komputerowa – dyscyplina zajmująca się cyfrową syntezą i manipulacją treści wizualnych. Ze względu na reprezentację danych dzieli się na grafikę rastrową i wektorową, a ze względu na charakter danych na grafikę dwuwymiarową, trójwymiarową i ruchomą. Obejmuje także przetwarzanie obrazów. Grafikę komputerową można także podzielić na teoretyczną skupiającą się na algorytmach graficznych i praktyczną, skupiającą się na manipulacji i tworzeniu obrazów i modelowaniu trójwymiarowym. (np. w programie Blender). Grafika komputerowa stanowi podstawę współczesnych  gier, animacji, symulacji oraz wizualizacji. Grafika komputerowa jest działem informatyki i grafiki.

Rys historyczny 

Początki grafiki komputerowej sięgają lat pięćdziesiątych 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 tylko ośrodki badawcze, duże firmy oraz instytucje rządowe. Dopiero, gdy w latach dziewięćdziesiątych rozpowszechniły się komputery osobiste, grafika komputerowa stała się zjawiskiem powszechnym. Powstało też wiele programów dedykowanych grafice komputerowej, np. Gimp, a sama grafika komputerowa otrzymała też status dyscypliny artystycznej.

Klasyfikacja 

Ponieważ celem grafiki komputerowej jest generowanie obrazów, jednym z głównych kryteriów klasyfikacji jest technika ich tworzenia.
 Grafika wektorowa: obraz jest rysowany za pomocą odcinków lub łuków. Niegdyś w ten sposób powstawał obraz na ploterach kreślących, a 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 zbudowany z prostokątnej siatki (matrycy) leżących blisko siebie punktów (tzw. pikseli). Głównym parametrem w przypadku grafiki rastrowej jest rozmiar bitmapy w pikselach podawany 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. Jej cechą charakterystyczną jest to, że poszczególne figury geometryczne zapamiętywane są w sposób parametryczny, na przykład dla okręgu będą to współrzędne jego środka i długość promienia, dla odcinka współrzędne punktów końcowych, a dla krzywych parametrycznych – współrzędne punktów kontrolnych. Jeśli program musi narysować obraz na urządzeniu wyjściowym (rastrowym lub wektorowym) to wygeneruje go na podstawie posiadanych danych wszystkich figur składowych. Bardzo ważną zaletą tej reprezentacji jest możliwość dowolnego powiększania obrazów bez utraty ich jakości.
 Grafika rastrowa – do zapamiętania obrazu rastrowego potrzebna jest dwuwymiarowa tablica pikseli nazywana powszechnie bitmapą. Nazwa wywodzi się stąd, że początkowo rozpowszechnione były systemy wyświetlające obrazy czarno-białe, tak więc 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 się nie przyjęła (chociaż jest stosowana w, na przykład, X Window).

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 tekst i/lub 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.

Kolejnym kryterium, według 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 należy 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 ruchoma – jej celem jest przedstawienie obrazu jako zbioru klatek, które pokazując się na ułamek sekundy i przechodząc w następną klatkę dają wrażenie ruchu obiektów przedstawionych na ekranie. Częstotliwość zmiany klatek najczęściej podaje się w liczbie klatek na sekundę (FPS, od ang. frame per second).

Jeszcze jednym kryterium jest cykl generacji obrazu.
 Grafika nieinterakcyjna – program wczytuje uprzednio przygotowane dane i na ich podstawie tworzy wynikowy obraz. Tak działa na przykład program POV-Ray, który wczytuje z pliku definicję sceny trójwymiarowej i na jej podstawie generuje obraz końcowy.
 Grafika interakcyjna – program na bieżąco aktualizuje obraz w zależności od działań użytkownika, dzięki temu może on od razu ocenić skutki swoich działań. Bardzo ważne w tym przypadku jest, aby czas odświeżenia obrazu nie 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 (co najmniej 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.

Zobacz też 

 lista edytorów grafiki rastrowej
 lista edytorów grafiki wektorowej
 formaty plików graficznych
 przeglądarka grafik

Linki zewnętrzne 
 Grafika komputerowa i wizualizacja (materiały dydaktyczne MIMUW na studia informatyczne I stopnia)