Grafika komputerowa

Grafika komputerowa to jest pewna dziedzina informatyki zajmująca się wykorzystaniem różnych technik komputerowych do celów wizualizacji artystycznej oraz wizualizacji rzeczywistości. Grafika komputerowa jest aktualnie narzędziem często stosowanym w nauce, technice oraz rozrywce.
Chociaż grafika komputerowa koncentruje się zazwyczaj głównie na specjalistycznych algorytmach i strukturach danych, to jednak czerpie też wiedzę z rzeczywistości. Na przykład aby uzyskać obrazy fotorealistyczne, powinno się wiedzieć jak w rzeczywistym świecie światło oddziałuje z przedmiotami. Tak samo aby symulacja jazdy samochodem była jak najprawdziwsza, należy wiedzieć, jak obiekty fizyczne ze sobą oddziałują.
Od wielu już lat grafika komputerowa jest też kolejną dyscypliną artystyczną ? różne dzieła powstałe dzięki jej zastosowaniu nazywa się grafiką cyfrową, infografiką lub digitalpaintingiem.

Początki grafiki komputerowej sięgają lat 50 XX wieku, ale jednak ze względu na ogromne koszty komputerów i innych urządzeń graficznych, aż do lat 80. grafika komputerowa była bardzo wąską specjalizacją, a na jej zastosowania mogły pozwolić sobie tylko różne ośrodki badawcze sterydy, wielkie firmy oraz instytucje rządowe. Dopiero gdy w latach osiemdziesiątych rozpowszechniły się komputery osobiste, grafika komputerowa stała się czymś powszechnym.

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.

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 probolan). 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 jest możliwość dowolnego powiększania obrazów, bez straty jakoś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).

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.

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.

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 tabata. 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.