Wprowadzenie
Obraz jest jednym ze rodków dokładnego i szybkiego przekazywania informacji,
a współczesny sprz t komputerowy pozwala na szerokie mo liwo ci wykorzystania
i zastosowania tego rodka. W zale no ci od zastosowa prac z obrazami mo emy podzieli
na: grafik komputerow , przetwarzanie obrazów i rozpoznawanie obrazów. Przetwarzanie
obrazów dotyczy zagadnie , w których dane wej ciowe i wyj ciowe maj posta obrazu.
Rozpoznawanie obrazów s to metody tworzenia cyfrowego opisu obrazu wej ciowego, który
nast pnie mo e by przetworzony przez komputer. Grafika komputerowa obejmuje post po-
wanie odwrotne - zajmuje si tworzeniem obrazów na podstawie informacji nieobrazowej
(cyfrowej). Grafika komputerowa jest działem informatyki, jednak jej oddziaływanie si ga
daleko poza dziedzin informatyki. Przyci gn ła ludzi z ró nych dyscyplin np. sztuki, nauki,
filmu. Grafika zapewnia jeden z najbardziej naturalnych rodków komunikacji z komputerem,
poniewa nasze wysoce rozwini te zdolno ci rozpoznawania obrazów 2D i 3D umo liwiaj
nam odbieranie i przetwarzanie danych obrazowych szybko i wydajnie. Dzisiaj w wielu pro-
jektach, implementacjach i procesach konstrukcyjnych informacja, jak niesie obraz, jest
w zasadzie niezb dna. Wizualizacja naukowa stała si wa nym obszarem prac w ko cu lat
80-tych XX wieku, kiedy naukowcy i in ynierowie doszli do wniosku, e nie mog interpre-
towa ogromnych ilo ci danych produkowanych przez superkomputery bez przedstawiania
danych i uwypuklania trendów i zjawisk za pomoc ró nego rodzaju reprezentacji graficz-
nych. Interakcyjna grafika komputerowa jest najwa niejszym rodkiem tworzenia obrazów od
wynalezienia fotografii i telewizji; ma ona t dodatkow zalet , e korzystaj c z komputera
mo emy tworzy obrazy nie tylko istniej cych rzeczywistych obiektów, ale równie abstrak-
cyjnych, syntetycznych obiektów i danych, które nie maj wewn trznej geometrii, tak jak
wyniki pomiarów. Nie musimy ogranicza si do obrazów statycznych. Chocia obrazy sta-
tyczne s dobrym rodkiem przekazywania informacji, cz sto obrazy zmieniaj ce si dyna-
micznie s znacznie efektywniejsze, zwłaszcza dla zjawisk zmiennych w czasie, zarówno
rzeczywistych jak i abstrakcyjnych. Je eli jest mo liwe przedstawienie dynamiki ruchu, to
obiekty mog by przesuwane i obracane wokół nieruchomego obserwatora. Równie obiekty
mog pozosta nieruchome, a obserwator mo e porusza si wokół nich. Mo na tak e prze-
suwa kamer i wybiera odpowiedni fragment pola wizualizacji oraz robi zbli enie albo
oddalenie kamery. Uaktualnianie dynamiki ruchu polega na zmienianiu kształtu, barwy
i innych własno ci ogl danych albo modelowanych obiektów. Na przykład system mo e wy-
wietla odkształcenia struktury samolotu w czasie lotu albo zmiany stanów w schemacie
blokowym reaktora j drowego w odpowiedzi na sterowanie przez operatora ró nymi mecha-
nizmami reprezentowanymi w postaci graficznej. Im zmiany s bardziej płynne, tym bardziej
realistyczny i warto ciowy jest wynik. Interakcyjna grafika komputerowa umo liwia wielo-
stronn współprac człowieka z komputerem. Taka współpraca w istotny sposób zwi ksza
nasz zdolno rozumienia danych, wychwytywania tendencji i wizualizowania rzeczywi-
stych i nierzeczywistych obiektów.
Zastosowania grafiki komputerowej
Obecnie grafika komputerowa jest stosowana w ró nych obszarach przemysłu, biznesu,
nauczaniu i rozrywce.
Przykłady zastosowa :
Interfejsy u ytkownika – wi kszo programów u ytkowych wykonywanych na kompute-
rach osobistych ma interfejsy u ytkownika z systemem okien zarz dzaj cych licznymi
równoczesnymi czynno ciami i mo liwo ciami wskazywania, pozwalaj cymi u ytkowni-
kowi wybiera opcje z menu, ikony, obiekty na ekranie. Np. edytory tekstu, arkusze kal-
kulacyjne, programy do publikacji.
Wykresy – wizualizacja danych w biznesie, nauce, technologii. Tworzenie wykresów 2D
i 3D funkcji matematycznych, fizycznych, ekonomicznych. Wykresy te s u ywane na
przykład do prezentowania w przejrzysty i zwi zły sposób tendencji i wzorów uzyska-
nych z danych, tak eby wyja ni zło one zjawiska i ułatwi podejmowanie decyzji.
Kartografia – ró nego rodzaju mapy (pogody, warstwicowe, demograficzne).
Medycyna – chirurdzy korzystaj z grafiki do wspomagania kierowania przyrz dami i do
dokładnego okre lenia, w którym miejscu nale y usun chor tkank . Mo emy manipu-
lowa modelem i uzyska szczegółowe informacje o stanie narz dów.
Kre lenie i projektowanie wspomagane komputerowo. CAD – u ytkownik korzysta
z grafiki interakcyjnej do projektowania elementów i systemów mechanicznych, elek-
trycznych, elektronicznych. w tym takich struktur jak budynki, karoserie samochodów,
kadłuby samolotów i statków, sieci telefoniczne i komputerowe itp.
Systemy multimedialne – poł czenie kilku mediów komunikacyjnych np. tekst, grafika
i d wi k. Wykorzystywane np. w nauczaniu multimedialnym.
Symulacja i animacja dla wizualizacji naukowej i rozrywki. w grafice komputerowej nie
musimy ogranicza si do obrazów statycznych. Obrazy zmieniaj ce si dynamicznie s
znacznie efektywniejsze, zwłaszcza dla zjawisk zmiennych w czasie (np. ewolucja twarzy
ludzkiej, przemieszczanie si ludno ci). Obiekty mog by przesuwane i obracane wokół
nieruchomego obserwatora. Równie obiekty mog by nieruchome, a obserwator mo e
si porusza wokół nich, np. symulatory lotu, gry (wy cigi samochodowe). W wizualizacji
naukowej i in ynierskiej coraz popularniejsze staj si obrazy i filmy animowane genero-
wane komputerowo, pokazuj ce zmienne w czasie zachowanie si rzeczywistych
i symulowanych obiektów. z takich metod mo emy korzysta przy badaniu abstrakcyj-
nych wielko ci matematycznych i modeli matematycznych, takich zjawisk jak przepływ
cieczy, teorie 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 . Mo emy
tworzy obrazy nie tylko istniej cych rzeczywistych obiektów ale równie abstrakcyjnych,
syntetycznych obiektów, które nie maj wewn trznej geometrii, tak jak wyniki pomiarów.
Techniki grafiki komputerowej pozwalaj na modelowanie obiektów, reprezentowanie
wiateł i cieni, produkcj efektów specjalnych w filmach. Uaktualnianie dynamiki polega
na zmianie kształtu, barwy i innych własno ci.
Rys historyczny
Od pocz tku istnienia informatyki wykonywano niedoskonałe rysunki na urz dzeniach
drukuj cych. Komputer Whirlwind opracowany w 1950 roku w MIT miał wyj ciowe urz -
dzenie wy wietlaj ce z elektropromieniow lamp CRT sterowan przez komputer, przezna-
czon dla operatora oraz dla tworzenia kopii za pomoc aparatu fotograficznego. Na pocz tku
lat 60-tych XX w. Ivan Sutherland opracował system rysuj cy Sketchpad. Wprowadził on
struktury danych dla pami tania hierarchii symboli oraz opracował metody interakcji za po-
moc klawiatury i pióra wietlnego (r czne urz dzenie wskazuj ce, reaguj ce na wiatło emi-
towane przez obiekt znajduj cy si na ekranie) do dokonywania wyborów, wskazywania
i rysowania. Sutherland sformułował wiele podstawowych idei i metod, które wci s stoso-
wane. Mo na uzna , e były to pocz tki nowoczesnej grafiki interakcyjnej.
W tym samym czasie producenci komputerów, samochodów i sprz tu lotniczego zacz -
li docenia ogromny potencjał systemów CAD i CAM (komputerowe wspomaganie projek-
towania i produkcji) w zakresie automatyzacji rysowania i innych czynno ci wymagaj cych
wielu rysunków. Systemy CAD z General Motors do projektowania samochodów oraz Itek
Digitek do projektowania soczewek były pionierskimi programami, które pokazały u ytecz-
no interakcji graficznej w praktyce in ynierskiej. w tamtych czasach, informacje wprowa-
dzano i wyprowadzano za pomoc kart dziurkowanych w trybie wsadowym i wi zano du e
nadzieje z wprowadzeniem interakcyjnej komunikacji u ytkownik-komputer. Grafika kompu-
terowa miała sta si integraln cz ci ogromnie przyspieszonego cyklu interakcyjnego pro-
jektowania. Jednak grafika interakcyjna ze wzgl du na wysokie koszty pozostawała wówczas
poza zasi giem wi kszo ci potencjalnych u ytkowników (z wyj tkiem organizacji najbardziej
zaawansowanych technologicznie).
Do pocz tku lat 80-tych XX wieku grafika komputerowa była w sk specjalizacj ,
głównie ze wzgl du na koszty sprz tu i niewielk liczb programów u ytkowych korzystaj -
cych z grafiki. Pó niej komputery osobiste z wbudowanymi rastrowymi urz dzeniami (np.
Apple Macintosh i IBM PC) spopularyzowały korzystanie z grafiki z map bitow
w interakcji u ytkownika z komputerem. Mapa bitowa jest zero-jedynkow reprezentacj
prostok tnej tablicy punktów na ekranie, nazywanych pikselami. Wkrótce po tym, jak dost p-
na stała si grafika z map bitow , nast piła eksplozja łatwych w u ytkowaniu i tanich zasto-
sowa grafiki. Interfejsy u ytkownika wykorzystuj ce grafik umo liwiły milionom nowych
u ytkowników korzystanie z prostych, tanich programów u ytkowych takich jak arkusze kal-
kulacyjne, edytory tekstów i programy rysuj ce. Bezpo rednie manipulowanie obiektami na
zasadzie ich wskazywania i naciskania na myszk zast piło w znacznym stopniu wypisywanie
tajemniczych polece stosowanych we wcze niejszych komputerach. w ten sposób u ytkow-
nicy mog wybieraj c ikony uruchamia odpowiednie programy lub obiekty. Obecnie prawie
wszystkie interakcyjne programy u ytkowe powszechnie wykorzystuj grafik w interfejsie
u ytkownika i dla wizualizacji i manipulowania obiektami.
Urz dzenia wy wietlaj ce opracowane w połowie lat 60-tych i wykorzystywane do po-
łowy lat 80-tych ub. wieku s okre lane jako monitory wektorowe, kreskowe, rysuj ce odcinki
albo kaligraficzne. Okre lenie wektor jest u ywane jako synonim odcinka; kreska jest krótkim
odcinkiem i znaki s tworzone z ci gów takich kresek. Typowy system wektorowy zawiera
procesor monitora przył czony jako zewn trzne urz dzenie wej cia/wyj cia do centralnej
jednostki przetwarzaj cej (CPU), pami ci buforowej monitora i CRT. Istot systemu wekto-
rowego jest to, e strumie elektronów, który pisze po pokryciu luminoforowym CRT, jest
odchylany od jednego ko ca odcinka do drugiego, zale nie od kolejno ci polece wy wietla-
nia ( metoda przeszukiwania przypadkowego). Poniewa wiatło emitowane przez luminofor
zanika w ci gu dziesi tek (co najwy ej setek) mikrosekund, procesor monitora musi cyklicz-
nie przebiega list wy wietlanych elementów w celu od wie enia luminoforu przynajmniej
30 razy na sekund (30 Hz) po to, eby unikn migotania.
Opracowane na pocz tku lat 70-tych taniej grafiki rastrowej wykorzystuj cej technolo-
gi telewizyjn miało znacznie wi kszy wpływ na rozwój grafiki komputerowej ni jakakol-
wiek inna technologia. Monitory rastrowe pami taj wy wietlane prymitywy (np. odcinki,
okr gi, znaki, wypełnione w sposób ci gły lub wzorami obszary) w pami ci ekranu w postaci
pikseli tworz cych okre lony prymityw. w niektórych monitorach rastrowych sprz towy kon-
troler monitora odbiera i interpretuje sekwencje polece wyj ciowych; w prostszych syste-
mach kontroler monitora istnieje jako element programowy biblioteki graficznej, a pami
ekranu jest cz ci pami ci CPU, która mo e by odczytywana przez podsystem wy wietlania
obrazu ( sterownik wy wietlania), który tworzy obraz na ekranie. Kompletny obraz na monito-
rze rastrowym jest tworzony na bazie rastra, czyli zbioru poziomych linii składaj cych si
z pikseli. Raster jest zapami tywany jako tablica pikseli reprezentuj cych cał powierzchni
ekranu. Cały obraz jest tworzony sekwencyjnie przez sterownik wy wietlania, linia po linii
z góry na dół i potem ponownie od góry. Dla ka dego piksela nat enie strumienia jest tak
ustawiane, eby odzwierciedli jasno piksela; w systemach barwnych s sterowane trzy
strumienie – po jednym dla ka dej barwy podstawowej: czerwonej zielonej i niebieskiej –
zgodnie ze specyfikacj trzech składowych barwy dla ka dej warto ci piksela. w systemie
rastrowym cała siatka pikseli (np. 1024 linie po 1024 piksele) musi by bezpo rednio zapa-
mi tana. Na pocz tku lat 70-tych XX wieku brak tanich półprzewodnikowych pami ci typu
RAM potrzebnych do budowy pami ci dla mapy bitowej stanowił istotne ograniczenie rozwo-
ju grafiki rastrowej i uniemo liwiał jej zdobycie dominuj cej pozycji. Dwupoziomowe moni-
tory CRT ( monochromatyczne) rysowały obrazy biało-czarne, czarno-zielone albo czarno-
pomara czowe. w dwupoziomowej mapie bitowej ka demu pikselowi jest przyporz dkowany
1 bit i cała mapa bitowa ekranu o rozdzielczo ci 1024 na 1024 piksele liczy 220 bitów czyli
około 128 kB. w prostych systemach barwnych jest 8 bitów na piksel dzi ki czemu dost p-
nych jest równocze nie 256 barw; w dro szych systemach s 24 bity na piksel i istnieje mo -
liwo wy wietlenia ponad 16 milionów barw. Dost pne s równie pami ci obrazu z 32 bi-
tami na piksel, z tych 32 bitów 24 s przeznaczone reprezentowanie barwy a 8 jest wykorzy-
stywanych do celów sterowania (np. jasno ci ). Wła ciwie poj cie mapy bitowej powinno
odnosi si tylko do systemów dwupoziomowych, gdzie jest 1 bit na piksel; dla systemów,
gdzie ka demu pikselowi przyporz dkowanych wiele bitów, u ywamy poj cia mapy pikselo-
wej. Główne zalety grafiki rastrowej w porównaniu z grafika wektorow to ni szy koszt
i mo liwo wy wietlania obszarów wypełnionych jednolit barw lub wzorami – co jest
wa ne przy tworzeniu realistycznych obrazów obiektów 3D. Główna wada systemów rastro-
wych w porównaniu z systemami wektorowymi jest zwi zana z dyskretn natur reprezentacji
piksela. Prymitywy, takie jak odcinki i wielok ty, s okre lane przez parametry ich ko ców
(wierzchołków) i musz by odwzorowane w pami ci obrazu za pomoc pikseli. Ten proces
odwzorowania, czy te konwersji, jest okre lany jako { rasteryzacja}. w komputerach, gdzie
mikroprocesor CPU jest odpowiedzialny za cał grafik , rasteryzacja jest wykonywana pro-
gramowo. Inna wada systemów rastrowych wynika z natury rastra. Podczas gdy system wek-
torowy mo e rysowa ci głe gładkie odcinki i gładkie krzywe w zasadzie od dowolnego
punktu na ekranie do dowolnego innego punktu, system rastrowy mo e wy wietla matema-
tycznie gładkie linie, wielok ty i brzegi krzywoliniowych prymitywów takich jak okr gi
i elipsy, tylko na zasadzie ich aproksymacji za pomoc pikseli nale cych do siatki rastra.
Taka aproksymacja mo e powodowa powstawanie problemu "schodków" albo "z bków". To
wizualne zakłócenie jest konsekwencj bł du próbkowania okre lanego w teorii przetwarza-
nia sygnałów jako aliasing; takie zakłócenia pojawiaj si wówczas, gdy funkcja ci głej
zmiennej zawieraj ca ostre zmiany jasno ci jest aproksymowana za pomoc dyskretnych pró-
bek. We współczesnej grafice komputerowej s stosowane metody likwidowania takich za-
kłóce (tzw. antyaliasing). Te metody okre laj gradacj jasno ci s siednich pikseli na grani-
cach prymitywów.
Z upływem lat ulepszono równie metody wprowadzania informacji. Niewygodne
i delikatne pióro wietlne zast piono wszechobecn myszk , pojawiły si ekrany czułe na
dotyk. Dost pne s urz dzenia wej ciowe, które okre laj nie tylko poło enie współrz dnych
na ekranie, ale równie współrz dne 3D, a nawet wi cej wymiarowe warto ci wej ciowe.
Przy standardowych urz dzeniach wej ciowych u ytkownik mo e okre li operacje albo ele-
menty obrazu pisz c lub rysuj c now informacj albo wskazuj c informacj istniej c ju na
ekranie. Ta interakcja nie wymaga znajomo ci programowania – trzeba tylko umie posługi-
wa si klawiatur : u ytkownik dokonuje wyborów na zasadzie wybierania przycisków albo
ikon menu, odpowiada na pytania przez oznaczanie opcji albo wpisanie kilku znaków
w formularzu, rysuje na zasadzie wskazywania kolejnych punktów ko cowych, które maj
by poł czone odcinkami albo interpolowane przez gładkie krzywe, maluje przesuwaj c kur-
sor po ekranie i wypełnia wielok ty albo zamalowuje wn trza konturów barwami albo ró -
nymi wzorami.
Grafika interakcyjna – wy wietlanie obrazów
Podstawowym zadaniem projektanta programu u ytkowego z interakcyjn grafik jest
okre lenie klas danych wej ciowych albo obiektów, które maj by generowane
i reprezentowane obiektowo, oraz okre lenie, jak ma przebiega interakcja mi dzy u ytkow-
nikiem a programem u ytkowym przy tworzeniu i modyfikowaniu modelu i jego wizualnej
reprezentacji. Wi kszo zada programisty koncentruje si raczej na tworzeniu i edycji mo-
delu oraz obsłudze interakcji u ytkownika ni na faktycznym tworzeniu obrazów, poniewa
to zadanie wykonywane jest przez system graficzny. Program u ytkowy tworzy informacje,
zapami tuje je w modelu i odzyskuje je od niego. Model reprezentuje dane albo obiekty jakie
maj by wy wietlane na ekranie. Program u ytkowy obsługuje równie wej cie u ytkowni-
ka. Tworzy obraz dzi ki wysyłaniu do systemu graficznego ci gu wyj ciowych polece gra-
ficznych, które zawieraj zarówno szczegółowy opis geometryczny tego co ma by wy wie-
tlone, jak i atrybuty opisuj ce wygl d obiektów. System graficzny jest odpowiedzialny za
faktyczne utworzenie obrazu na podstawie szczegółowych opisów i za przekazanie wej cia
u ytkownika do przetwarzania przez program u ytkowy. System graficzny jest wi c po red-
nikiem mi dzy programem u ytkowym a sprz tem wy wietlaj cym. Program u ytkowy two-
rzy model albo w wyniku wcze niejszych oblicze albo w wyniku interakcyjnej sesji przy
urz dzeniu wy wietlaj cym, w czasie której u ytkownik kieruje procesem konstruowania
krok po kroku, wybieraj c elementy i wła ciwo ci geometryczne i niegeometryczne (np. pro-
gram Paint). Dane musz by przedstawione systemowi graficznemu albo w postaci prymity-
wów, które system mo e wy wietli bezpo rednio albo atrybutów, które okre laj wygl d
prymitywów.