Przekazywanie informacji multimedialnych
3. Formowanie przekazu informatywnego
3.4. Ekspresja graficzna
O grafice komputerowej można mówić w sposób różnorodny -- że są to algorytmy i struktury danych specjalizowane obrazem lub że jest to obrazkowy (graficzny) język interakcji człowiek-komputer.
Jako dział informatyki grafika komputerowa wykorzystuje techniki komputerowe do syntezy obrazów (lub ich fragmentów) w procesie wizualizacji rzeczywistości w różnych celach użytkowych. W zastosowaniach grafiki zwykle chodzi o rzeczywistość mniej lub więcej realną (wirtualną, rozszerzoną, sztuczną, wizję artystyczną czy futurologiczną), opisywaną, kształtowaną czy przekształcaną w sposób ściśle zależny od zastosowania. Przykładowo, w przypadku wizualizacji danych rzeczywistych (naturalnych, pomierzonych, rejestrowanych w złożonych systemach obrazowania, np. w medycynie) może chodzić o możliwie wierne ukazanie rejestrowanej treści obrazowej jedynie w wybranych zakresach lub też znaczące uproszczenie przekazu obrazowego poprzez adaptację założonych \emph{a prori} modeli treści użytkowej.
Synteza obrazów bazuje na modelowaniu scen, przy czym jest to zazwyczaj specyficzny rodzaj modelowania, dostosowany do przedmiotu i celów wizualizacji.
Z czasem skala zadań obejmowanych przez grafikę ulegała znacznemu rozszerzeniu lub ukonkretnieniu. Obecnie obejmuje przede wszystkim:
- różne formy wizualizacji danych czy doboru dogodnych uwarunkowań przekazu informacji obrazowej,
- animacje, film, ogólniej kształtowanie strumieni wizyjnych w multimediach,
- interfejsy użytkownika (środowisko graficzne),
- CAD/CAM rożnego typu (projektowanie inżynierskie, poligrafia, architektura etc.),
- gry w różnych konwencjach,
- symulatory, generatory przestrzeni wirtualnych, rozszerzonych (\emph{augmented}),
- e-edukacja,
- medyczna diagnostyka obrazowa (wizualizacji badań tomografii, wirtualna endoskopia, obrazowanie multimodalne), chirurgia sterowana obrazem, protetyka, rehabilitacja, medycyna w internecie,
- $\ldots$
Istnieje szereg wygodnych narzędzi i środowisk obiektowego czy funkcjonalnego programowania, gwarantujących szybkie i efektowne realizacji prostych aplikacji graficznych. Warto tutaj wymienić przede wszystkim:
- Visualization Toolkit (VTK) (http://www.vtk.org/); otwarty system do komputerowej grafiki 3W oraz przetwarzania i wizualizacji obrazów; zbudowany na bazie C++ z interfejsami w Tcl/Tk, Java, Python; dostosowany do wielu platform systemowych;
- Insight Segmentation and Registration Toolkit (ITK) (http://www.itk.org/); otwarty system konstruowany na zasadach podobnych do VTK, dotyczących zaawansowanych, przyszłościowych metod analizy obrazów;
- Medical Image Processing and Visualization (MeVisLab) (http://www.mevislab.de/); środowisko do tworzenia aplikacji w obszarze przetwarzania i wizualizacji obrazów medycznych; na bazie Open Inventor (obiekty grafiki na bazie OpenGL), Qt, Python, Javascript (interfejsy), integracja z modułami C++, VTK, ITK.
Szczególnie ważnych elementem zaawansowanych systemów grafiki jest sprzęt, m.in. specjalizowane procesory i akceleratory graficzne, z przetwarzaniem masowo-równoległem (GPU), różnego typu manipulatory, tablety, doskonalone, integrowane i zestawiane systemy monitorów etc.