Twoja wyszukiwarka

MAREK HOŁYŃSKI
ZABAWA W OBRAZKI
Wiedza i Życie nr 9/1996
Artykuł pochodzi z "Wiedzy i Życia" nr 9/1996

W połowie lat siedemdziesiątych kraje socjalistyczne borykały sięze stworzeniem jednolitegosystemu maszyn cyfrowych,czyli domorosłej kopii IBM-owskiej serii 360. Powołano więc przy RWPG międzynarodową komisję, która objeżdżała wytypowaneośrodki badawcze.

Jeden z wizytowanych instytutów, dzięki osobistym kontaktom pracowników, utrzymywał ożywione kontakty z Zachodem i prowadził badania nie odbiegające od światowej czołówki. Jego dyrektor, pewny pozytywnego wyniku inspekcji, z dumą oprowadzał gości po pracowniach. Na koniec zostawił swojego asa atutowego: laboratorium grafiki komputerowej. Geometryczne figury poruszające się na ekranie - robiło to wrażenie na wszystkich.

Przewodniczący komisji, członek korespondent radzieckiej Akademii Nauk, nie był jednak zbyt skory do pochwał: Macie zdolną kadrę, dyrektorze, a pozwalacie im w pracy bawić się jakimiś obrazkami - powiedział z niesmakiem - komu i na co to się przyda? Tymczasem tyle ważnych problemów czeka na rozwiązanie. Ot, choćby takie komputerowe sterowanie obrabiarkami - ileż to ludzi tego potrzebuje!

Jeśli ów profesor jest nadal członkiem jakiejś akademii, to chyba z nią koresponduje w innym duchu. W ostatnim dwudziestoleciu żaden z działów informatyki nie rozwijał się równie szybko i intensywnie jak właśnie grafika komputerowa. Mało to, wprowadziła ona komputery do sztuki, chirurgii plastycznej czy projektowania mody, które to dziedziny nigdy bez niej nie zaakceptowałyby tych maszyn.

Gdy w końcu lat pięćdziesiątych rodziła się grafika komputerowa, z maszynami cyfrowymi współpracowało się przez szybę. Nie szybkę monitora, ale okienko, w którym zostawiało się programy i następnego dnia przychodziło po wyniki. Bezpośredni dostęp do komputera mieli jedynie operatorzy.

ZACZĘŁO SIĘOD MYSZKI MIKI

To właśnie oni, nudząc się na nocnych zmianach, tapetowali ściany ośrodków obliczeniowych wizerunkami Marylin Monroe i Myszki Miki, komponowanymi ze znaków, jakimi dysponowała drukarka. Dowcip polegał na tym, że na przykład litera M wygląda z dystansu ciemniej niż, powiedzmy, kropka albo odstęp. Stosując rozmaite znaki, można było nimi wypełniać obszary z odpowiednią gradacją szarości.

Postaci dinozaurów "ożywił" w filmie Jurassic Park oczywiście komputer

Te prymitywne literowe mozaiki okazały się przydatnym ćwiczeniem. Gdy spróbowano je przenieść z papieru na czarno-biały ekran monitora, wymagania były podobne. Obrazy należało tworzyć na ekranie z punktów. Każdy z nich musiał mieć swój opis w pamięci i przy typowym ekranie o 480 liniach i 640 pozycjach w linii należało przechowywać dane o 283 200 punktach. Ograniczona pojemność ówczesnych pamięci pozwalała przeznaczyć jedynie 8 bitów na punkt. To umożliwiało zapisanie liczb od 0 (nie wyświetlaj punktu) do 255 (wyświetl z pełną intensywnością) i 254 pośrednich odcieni szarości. Znaki można drukować na papierze albo nie; niemożliwe było jednak drukowanie czegoś między określonymi na stałe pozycjami. Poziomy odcinek linii prostej uzyskiwało się więc bez trudu z sąsiadujących znaków w tym samym wierszu. Pionowy odcinek dawało się skonstruować z liter leżących jedne nad drugimi w tej samej pozycji, ale w różnych wierszach. Odcinki wyświetlane pod dowolnym kątem zaczynały jednak wyglądać niezgrabnie.

Z identycznym zadaniem borykała się później prawdziwa grafika komputerowa, operująca punktami o zdeterminowanym na stałe położeniu na ekranie. Udane algorytmy reprezentacji linii prostych, kół i trójkątów za pomocą punktów opracował na początku lat sześćdziesiątych Ivan Sutherland, wówczas doktorant w Massachusetts Institute of Technology w Bostonie. Zaprojektował on również system, który pozwala na dowolne transformacje figur geometrycznych. Za pomocą pióra świetlnego można je było przesuwać, obracać, zwiększać i zmniejszać. Dziś wydaje się to dziecinnie proste, ale w tamtych latach starczyło aż z nadmiarem na doktorat zatytułowany Sketchpad: A Man-Machine Graphical Communication System (czyli Podkładka do szkicowania: system komunikacji graficznej człowiek-maszyna).

LAWINA RUSZYŁA

Sutherlandowi należy się spore uznanie, ponieważ grafika komputerowa zawdzięcza mu swój początek. Nie żyjemy w czasach Leonarda i współczesne odkrycia dokonywane są zwykle przez duże zespoły badawcze. Najistotniejsze innowacje, z których rodzą się nowe dyscypliny nauki i techniki wymagają odpowiedniego sprzętu, pieniędzy i specjalistów w dziedzinie organizacji.

Szkicowanie na ekranie komputera okazało się na tyle atrakcyjną zabawą, że pomysłowi Sutherlanda poświęcono popularnonaukowy program telewizyjny. I wtedy zgłosili się przedstawiciele instytucji zainteresowanych kontynuowaniem eksperymentu. Reprezentowali oni lotnicze i samochodowe biura projektowe oraz urzędy kartograficzne.

W tych niedostępnych dla szerszej publiczności miejscach wykazano po raz pierwszy, że grafika komputerowa istotnie może się do czegoś przydać. Niedługo potem zdano sobie sprawę z potencjału wizualnej symulacji. Wojsko potrzebowało jej do szkolenia pilotów, program kosmiczny do obserwacji trasy projektowanej wyprawy Voyagera, duże ośrodki naukowe do modelowania złożonych procesów fizycznych i chemicznych.

Lawina ruszyła jednak dopiero na początku lat osiemdziesiątych. Układy scalone zredukowały rozmiary maszyn do wymiarów ludzkich. Procesory nabrały rozsądnej szybkości, a pamięć komputerowa gwałtownie staniała. Specjalizowane stacje graficzne, dostępne niegdyś za setki tysięcy dolarów, stały się osiągalne po cenach dziesięciokrotnie niższych. Pojawiły się komputery osobiste z zestawem prostych - ale często wystarczających nawet do realizacji dość ambitnych zamierzeń - funkcji graficznych. Grafika komputerowa znalazła się w zasięgu ręki zwykłego użytkownika.

OBRAZ WART TYSIĄC SŁÓW

Zaakceptowano ją bez zastrzeżeń, bo komputery używane były i tak do rozmaitych obliczeń. Prościej jest oglądać niż czytać - reprezentacja wyników w postaci graficznej jest znacznie strawniejsza i łatwiejsza do przyswojenia. Zamiast ślęczeć godzinami nad stosem zadrukowanych cyframi kartek, wystarczy jeden rzut oka na trójwymiarowy wykres, żeby zrozumieć analizowane zależności.

Stacja graficzna Silicon Graphics (najnowszy model). To właśnie te potężne komputery realizują najtrudniejsze triki filmowe, animacje i modelowanie komputerowe

Czy jest to jednak wystarczający powód, aby wydawać dziesiątki - a nawet setki - tysięcy dolarów na zakup sprzętu i spędzać miesiące na programowaniu? Przecież ten sam rysunek da się taniej zrobić za pomocą ołówka i kawałka papieru! Maszyny potrafią zmagazynować w swej pamięci sporo informacji wizualnej, ciągle jednak mniej niż zwykła taśma magnetowidowa! Precyzja w odwzorowaniu złożonych kształtów jest wysoka, lecz taką samą oferuje kamera filmowa czy aparat fotograficzny! Po co do tego wszystkiego komputer?

Grafika komputerowa ma jednak w zanadrzu argument, który daje jej przewagę nad tradycyjnymi narzędziami. Potrafi kreować efekty wizualne trudne do uzyskania innymi sposobami albo wręcz niemożliwe. Trudno na przykład obserwować zachowanie elektronów w polu magnetycznym, mimo że ich ruch został precyzyjnie opisany przez fizyków. Gdyby nawet ktoś skonstruował dostatecznie silny mikroskop, to i tak elektron przemknąłby przez pole widzenia w ułamku sekundy. Po wprowadzeniu modelu fizycznego do komputera można jednak powiększyć elektron do rozmiarów piłeczki ping-pongowej, zwolnić tysiąc razy jego prędkość i spokojnie oglądać, co się z nim dzieje.

Przykłady zadań niewykonalnych klasycznymi metodami nie muszą wcale pochodzić z literatury science fiction. Powiedzmy, że kazaliśmy komputerowi pokazać na ekranie monitora skrzypce. Niech teraz komputer obróci je i pokaże jeszcze raz, tak aby nowy obraz przecinał się z poprzednim. Uzyskanie takiego efektu w świecie rzeczywistym nie jest proste. Każda próba "przecięcia" dwu prawdziwych instrumentów pociągnie za sobą zniszczenie obu, zaś ręczne narysowanie tej sytuacji wymagałoby ogromnej wyobraźni przestrzennej.

CZYSTA SYNTEZA

Dla komputera obliczenie linii przecięcia nawet bardzo złożonych obiektów nie jest żadnym problemem, ponieważ w specjalnym buforze pamięciowym (tzw. zbuffer, czyli bufor współrzędnej zetowej) przechowuje on bowiem informacje o rozmieszczeniu przedmiotów w wyświetlanej scenie. Przestrzenne zależności pozwalają określić widzialne części obrazu, gdyż zdarza się, że obiekty pierwszoplanowe przesłaniają te na drugim planie.

Co prawda trójwymiarowa grafika (nazywana w skrócie 3D od dimensions - "wymiary") jest rzutowana na płaską powierzchnię monitora, dla widza stanowi zatem obraz 2D. Jednakże, wykorzystując informację z bufora pamięciowego można uciekać się do różnych zabiegów, aby uzyskać złudzenie głębi. I tak, pomniejszając dalsze i powiększając bliższe obiekty, otrzymuje się wrażenie perspektywy. Z kolei rozjaśnianie przedmiotów na pierwszym planie (depthcueing) powoduje, że przyciemnione tło postrzegane jest jako odleglejsze.

Obraz na ekranie komputera to czysta synteza - istnieje tylko w pamięci maszyny. Dla niej jest to po prostu zbiór danych, reprezentujący niegdyś punkty o różnej gradacji szarości, od czasu zaś gdy pojawiły się monitory kolorowe - punkty o rozmaitej intensywności trzech podstawowych kolorów: czerwonego, niebieskiego i zielonego.

Liczba kolorów w 8-bitowych komputerach była ograniczona do 256. Na składnik czerwony i zielony przeznaczano po trzy bity, na niebieski dwa bity, bo psychofizjolodzy uznali go za najmniej istotny. Dawało to 8 (dwa do trzeciej potęgi) odcieni czerwonego i zielonego oraz 4 odcienie niebieskiego. Kombinując odcieniami, uzyskiwało się 8×8×4, czyli dokładnie 256 kolorów.

Zwiększanie pamięci w kolejnych generacjach komputerów pozwoliło poszerzyć gamę kolorystyczną. We współczesnych 32-bitowych stacjach graficznych każda podstawowa barwa ma do dyspozycji 8 bitów, a pozostałe 8 wykorzystuje się na zapamiętanie współczynnika przezroczystości punktu (tzw. alphablending). W sumie daje to ponad 16 mln kolorów, które w dodatku dzięki alphablendingowi można mieszać z tłem. Jest to dużo więcej, niż normalny człowiek potrafi rozróżnić.

Do przeszłości należy zatem zaliczyć utyskiwania na nienaturalność barw grafiki komputerowej. Oferuje ona obecnie każdy widzialny kolor i odcień. Czasami się z nich rezygnuje, ponieważ klienci życzą sobie, aby na przykład reklama telewizyjna odznaczała się właśnie "komputerowym" stylem, z lekko fosforyzującymi barwami i wirującymi odblaskowymi powierzchniami.

RÓŻA JEST RÓŻĄ

Dla większości odbiorców realizm wizualny to jednak główny walor grafiki komputerowej. Róża musi wyglądać jak róża, włosy powiewać na wietrze, a lustro pod pewnym kątem puszczać zajączka. A im prawdziwiej wygląda scena, tym więcej wysiłku trzeba włożyć w jej uzyskanie. Potrzebne są do tego skomplikowane modele oświetlenia - trzeba uwzględnić rozmaite typy źródeł światła, ich natężenie i położenie względem obiektów. Te z kolei reprezentują różne materiały, a przecież czerwony plastik i wypolerowane srebro inaczej odbijają i załamują padające na nie promienie. Dzięki technice zwanej texture mapping prezentowane przedmioty mogą być ponadto "owinięte" w papier do pakowania, ceglaną ścianę lub perski dywan.

Aktor, grający w filmie Forrest Gump weterana wojny wietnamskiej, wcale nie jest inwalidą. Nogi "amputował" mu komputer, usuwając zbędne fragmenty obrazu z każdej klatki filmowej

Sporo kłopotu sprawiało modelowanie zjawisk naturalnych, które wymykają się ścisłym ujęciom. Jeśli zarośla, chmury i fale na oceanie poskładać z kostek, kul, piramid oraz cylindrów, to będą one wyglądać sztucznie. Z pomocą przyszła geometria fraktalna, uzupełniająca geometrię kartezjańską o stany pośrednie między tradycyjnymi wymiarami i akceptująca losowe modyfikacje. Dzięki niej komputer może generować skomplikowane obiekty o podobnych cechach, ale różniące się w szczegółach. Każde drzewo jest drzewem - ma pień, gałęzie i liście, ale jest nieco inne niż poprzednie drzewa.

Łatwość, z jaką można tworzyć realistyczne obrazy, albo dowolnie modyfikować wprowadzoną do komputera scenę, jest nawet nieco niepokojąca. Jak inne liczące się wynalazki, grafika komputerowa może być użyta do różnych celów, nie zawsze zamierzonych przez jej twórców. Pole do nadużyć jest spore - od drobnych oszustw i szantaży, do poważnych prowokacji. Fałszywe telewizyjne przemówienie znanego polityka w okolicznościach, które nigdy nie wystąpiły*, może mieć nieobliczalne następstwa.

Tym bardziej, że ożywianie grafiki nie jest aż tak skomplikowane, jak mogłoby się to wydawać. Każda, nawet najbardziej złożona, zmiana sytuacji na ekranie może być reprezentowana jako pewna kombinacja trzech podstawowych transformacji: przesunięcia, skalowania i obrotu. Wszystkie trzy dają się wyrazić jako macierze, które komputer mnoży w mgnieniu oka.

STOPKLATKA

Dzięki temu właśnie produkcja filmów rysunkowych została ostatnio całkiem zdominowana przez komputery. W klasycznej animacji na początek tworzy się jedynie obrazy istotne dla rozwoju akcji. Potem następują tygodnie mozolnego wypełniania klatek pośrednich, różniących się nieznacznymi detalami, ale niezbędnych dla zachowania ciągłości obrazu. Komputer przydaje się tu bardzo, ponieważ przejmuje na siebie całą wyrobniczą część tego procesu. Dostaje dwie klatki kluczowe i polecenie, żeby stopniowo przekształcić jedną w drugą, produkując po drodze kilkaset przejściowych obrazków. Nie ma przy tym większego znaczenia, czy rozrysowywane scenki są mniej, czy bardziej pracochłonne. Gotowy film wygląda dużo realniej niż rezultaty tradycyjnej animacji, gdzie pełno denerwujących uproszczeń i powtarzających się sekwencji.

W produkcji kreskówek szybkość maszyny cyfrowej nie jest wąskim gardłem, bo klatki rejestrowane są na taśmie filmowej i dopiero potem wyświetlane na ekranie. Gdy jednak, jak na przykład w symulatorach lotu, współdziałanie jest bezpośrednie i rozwój sytuacji zależy od reakcji widza, zapotrzebowanie na moc obliczeniową rośnie. Tysiące punktów na ekranie trzeba przetworzyć w ciągu 1/30 czy 1/60 sekundy, aby wyświetlić nową scenę i nie stracić płynności ruchu. Skomplikowane obrazy zwiększają liczbę koniecznych do przeliczenia detali. Upakowana szczegółami scena wirtualnej rzeczywistości potrafi zatkać nawet Onyxa - najpotężniejszą na świecie maszynę graficzną.

Obrazy można też wprowadzać do komputera bezpośrednio z kamery wideo i wtedy wrażenie pełnego realizmu jest zupełne, a możliwości nieograniczone. Każdy objekt daje się modyfikować, wymazać albo zastąpić innym. Prawdziwy krajobraz świetnie nadaje się na tło do filmu amimowanego, a postać ludzka na pierwszym planie może zostać bohaterem nowej gry komputerowej (jeśli przez lata entuzjaści tych gier potrafili się pasjonować substytutami o kwadratowych głowach, to co się stanie, gdy gry "na żywo" dotrą do masowego odbiorcy?).

ALE KINO

Apetyt rośnie w miarę jedzenia i lista wymagań poszerza się o coraz nowsze rzeczy do zrobienia. Na jej czele są problemy związane z naśladowaniem ludzkiego ruchu, który jest na tyle złożony, że nie daje się łatwo opisać równaniami matematycznymi. Trzeba to robić empirycznie, umieszczając czujniki na ciele człowieka - trójwymiarowe dane przekazywane są do komputerowej analizy, a jej wyniki wykorzystuje się do ożywiania syntetycznych postaci. Ową metodę, tzw. motion-capture, zaczyna się też stosować do symulacji dialogu. Ten problem nie jest jeszcze w pełni rozgryziony, gdyż wymaga więcej niż tylko animacji ruchu ust w rytm wypowiadanych słów.

Ten model spirali DNA jest oczywiście dziełem komputera

Rozmaitość wyrazów twarzy powoduje, że nawet przy dużej liczbie czujników komputerowa mimika wygląda mało przekonująco. Pracuje nad tym sporo osób, ponieważ zainteresowani są tym zagadnieniem nie tylko filmowcy. Mówiąca i mająca własne oblicze maszyna zrewolucjonizowałaby interakcje międzyludzkie.

Wieksze studia filmowe i telewizyjne mają już obecnie wydziały komputerowych efektów specjalnych. Rezultaty ich działalności niekoniecznie uwidoczniają się w kaskaderskich i pirotechnicznych trikach. Widz nie musi zdawać sobie sprawy, że jezioro, które ma przed oczami, powstało w wyniku wypełnienia doliny wodą... na ekranie komputera, a stół czytającego wiadomości spikera jest podobnym dodatkiem montażowym. Plany są oczywiście ambitniejsze, bo kino bez aktorów, planu i kamer nie jest już odległą wizją podsuwaną przez pisemka fantastycznonaukowe.

ŻYWIĄ I BRONIĄ

Film i telewizja oswoiły szeroką publiczność z grafiką komputerową i za to im chwała. Mimo to przemysł rozrywkowy jest (jak na razie) dla grafiki stosunkowo niewielkim rynkiem. Sporo wykorzystuje się jej ciągle w nauce do wizualizacji procesów fizycznych i chemicznych oraz symulacji lotów kosmicznych, ale najważniejszym odbiorcą jest obecnie przemysł.

Inżynierów chyba już też nie dałoby się przekonać, aby powrócili do tradycyjnego cyklu projektowego: ręcznego rozrysowywania planów, budowania modelu i testowania prototypu. Zanim powstaną budynki, maszyny, samochody - można je przecież obejrzeć na komputerowym monitorze jako trójwymiarowy obraz. Każdą zmianę da się nanieść od ręki, bez konieczności przerabiania dokumentacji; symulacja trzęsienia ziemi, zatarcia trybu czy czołowego zderzenia na ekranie komputera oszczędza sporo pieniędzy. Aspekt finansowy ma jeszcze większe znaczenie dla wojska, które bez strat w sprzęcie może organizować ćwiczenia na komputerowych symulatorach. W rozgrywanych na niby potyczkach może brać udział po paruset uczestników. Siedzą w prawdziwych kabinach czołgów i samolotów, ale obraz, który oglądają, przychodzi z sieci komputerowej - pole bitwy jak prawdziwe z uwzględnieniem ostatnich posunięć przeciwników i sojuszników.

Komputery graficzne wkroczyły do pracowni architektów i dekoratorów wnętrz. Pozwalają oglądać nie istniejące budynki, wejść do środka, poprzesuwać ściany, wybrać meble, włączyć nocną lampkę. Posługują się nimi projektantanci mody podczas doboru wzorów, kolorów i fasonu ubrań. Grafika komputerowa pojawiła się w salonach piękności, umożliwiając klientom zawczasu sprawdzenie skuteczności makijażu. Powstały już pierwsze "maszyny czasu", uwzględniające naturalne zmiany zachodzące z wiekiem i pokazujące, jak się będzie wyglądało za trzydzieści parę lat.

Ciągle rodzą się nowe zastosowania: elektroniczna poczta wideo, interakcyjna telewizja, wirtualne muzea w sieciach komputerowych. Niedługo łatwiej będzie wyliczać dziedziny, w których grafika komputerowa nie jest jeszcze stosowana.

* Przypomnijmy sobie sceny z filmu Forrest Gump, w których bohater występuje wraz z prezydentem Kennedym; zrealizowano je właśnie, łącząc komputerowo sceny sfilmowane z udziałem aktora ze scenami z autentycznego filmu dokumentalnego, w którym dodatkowo nieco zniekształcono ruchy postaci (ruch warg i głowy Kennedy'ego musiał się zgadzać z podłożonym fałszywym tekstem) - przyp. red.

Zdjęcia: ITI Home Video oraz ATM

MAREK HOŁYŃSKI jest absolwentem Wydziału Elektroniki Politechniki Warszawskiej, informatykiem, znanym popularyzatorem wiedzy. Od wielu lat mieszka w USA i pracuje w słynnej firmie Silicon Graphics, zajmując się grafiką komputerową.