Wykład 1 Wprowadzenie Zastosowania grafiki komputerowej

Transkrypt

Wykład 1 Wprowadzenie Zastosowania grafiki komputerowej
Wykład 1
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 powanie 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 projektach, 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 interpretowa ogromnych ilo ci danych produkowanych przez superkomputery bez przedstawiania
danych i uwypuklania trendów i zjawisk za pomoc ró nego rodzaju reprezentacji graficznych.
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 abstrakcyjnych, 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 statyczne s dobrym rodkiem przekazywania informacji, cz sto obrazy zmieniaj ce si dynamicznie 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 przesuwa 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 wywietla 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 mechanizmami reprezentowanymi w postaci graficznej. Im zmiany s bardziej płynne, tym bardziej
realistyczny i warto ciowy jest wynik. Interakcyjna grafika komputerowa umo liwia wielostronn współprac człowieka z komputerem. Taka współpraca w istotny sposób zwi ksza
nasz zdolno rozumienia danych, wychwytywania tendencji i wizualizowania rzeczywistych 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 komputerach 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 kalkulacyjne, 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 uzyskanych 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 manipulowa 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, elektrycznych, 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 generowane komputerowo, pokazuj ce zmienne w czasie zachowanie si rzeczywistych
i symulowanych obiektów. z takich metod mo emy korzysta przy badaniu abstrakcyjnych 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, przeznaczon 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 pomoc klawiatury i pióra wietlnego (r czne urz dzenie wskazuj ce, reaguj ce na wiatło emitowane 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 stosowane. 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 projektowania 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 wprowadzano i wyprowadzano za pomoc kart dziurkowanych w trybie wsadowym i wi zano du e
nadzieje z wprowadzeniem interakcyjnej komunikacji u ytkownik-komputer. Grafika komputerowa miała sta si integraln cz ci ogromnie przyspieszonego cyklu interakcyjnego projektowania. 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 pna stała si grafika z map bitow , nast piła eksplozja łatwych w u ytkowaniu i tanich zastosowa 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 kalkulacyjne, 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 ytkownicy 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 wektorowego 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 wietlania (metoda przeszukiwania przypadkowego). Poniewa wiatło emitowane przez luminofor
zanika w ci gu dziesi tek (co najwy ej setek) mikrosekund, procesor monitora musi cyklicznie 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 technologi telewizyjn miało znacznie wi kszy wpływ na rozwój grafiki komputerowej ni jakakolwiek 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 kontroler monitora odbiera i interpretuje sekwencje polece wyj ciowych; w prostszych systemach 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 monitorze 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 zapami 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 rozwoju grafiki rastrowej i uniemo liwiał jej zdobycie dominuj cej pozycji. Dwupoziomowe monitory CRT (monochromatyczne) rysowały obrazy biało-czarne, czarno-zielone albo czarnopomara 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 pnych 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 bitami na piksel, z tych 32 bitów 24 s przeznaczone reprezentowanie barwy a 8 jest wykorzystywanych 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 pikselowej.
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 rastrowych 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 programowo. Inna wada systemów rastrowych wynika z natury rastra. Podczas gdy system wektorowy 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 matematycznie 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 przetwarzania 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 zakłóce (tzw. antyaliasing). Te metody okre laj gradacj jasno ci s siednich pikseli na granicach 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 elementy 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ługiwa 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 kursor 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 ytkownikiem a programem u ytkowym przy tworzeniu i modyfikowaniu modelu i jego wizualnej
reprezentacji. Wi kszo zada programisty koncentruje si raczej na tworzeniu i edycji modelu 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 ytkownika. Tworzy obraz dzi ki wysyłaniu do systemu graficznego ci gu wyj ciowych polece graficznych, które zawieraj zarówno szczegółowy opis geometryczny tego co ma by wy wietlone, 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 rednikiem mi dzy programem u ytkowym a sprz tem wy wietlaj cym. Program u ytkowy tworzy 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. program Paint). Dane musz by przedstawione systemowi graficznemu albo w postaci prymitywów, które system mo e wy wietli bezpo rednio albo atrybutów, które okre laj wygl d
prymitywów.

Podobne dokumenty