piątek, 5 października 2012

Technika Motion Capture

Dzisiaj poruszę bardzo nową dziedzinę a mianowicie animację opartą o zapis ludzkich ruchów ciała, które następnie są przetwarzane przez komputer. Technika ta nazywa się Motion Caputre, którą postaram się opisać poniżej. Zachęcam do lektury.

Technologia motion capture do animacji postaci komputerowych jest stosunkowo nową dziedziną, jednakże jej początki rozpoczęły się już pod koniec 1970 roku, ale dopiero teraz staje się bardziej powszechna.

Motion capture jest zapisem ludzkich ruchów ciała (lub inny ruchów) do bezpośredniej lub opóźnionej analizy i odtwarzania. Zdobyte informacje mogą być generowane jako proste pozycje ciała w przestrzeni lub tak skomplikowane jak przy deformacji twarzy i masy mięśni. Motion capture do animacji postaci komputerowej obejmuje mapowanie ludzkiego ruchu na ruch o charakterze komputerowym. Odwzorowanie może być bezpośrednie, takie jak ruch ramienia ludzkiego sterujący ruchem ramienia bohatera, lub pośrednie, takie jak ludzka ręka i wzorce palców kontrolujące kolor skóry bohatera czy stan emocjonalny.

Pomysł naśladowania ludzkiego ruchu dla animowanych postaci wywodzi się od rotoskopii (ang. Rotoscoping). Metoda ta polegała na kopiowaniu relistycznego ruchu aktorów z materiału filmowego na postacie rysunkowe. Według słownika językowego termin ten dzisiaj tłumaczy się jako technikę tworzenia animacji, która polega na nakładaniu na siebie i kolejnym wyświetlaniu pojedynczych warstw obrazu.

Technologia motion capture pozwoliła na przedstawienie realistycznego ruchu w grach i filmach 3D. W związku z szerokim zastosowaniem dane do motion capture są zwykle uzyskiwane na kilka sposobów, przez co istnieje podział na:

  • Optyczne systemy przechwytywania ruchu (ang. Optical Motion Capture) - są bardzo popularne, oparte na kamerach CCD (ang. Charge-couped device). Systemy te oferują aktorowi największą swobodę ruchu, ponieważ nie wymagają żadnego okablowania. Zawierają kierunkowo odbijające kropki, określane jako markery, które przyczepione są do aktora.
  • Elektromagnetyczne (ang. Electromagnetic Motion Capture) oparte na odbiornikach lub sensorach elektromagnetycznych, które mierzą dystans pomiędzy śledzonym punktem, a najbliższym transmiterem.
    Ta popularna metoda polega na wykorzystaniu centralnie umieszczonego nadajnika i zestawu odbiorników, które są naklejone na różnych częściach ciała aktora. Odbiorniki te są w stanie mierzyć przestrzenny pomiar z nadajnika. Każdy odbiornik jest podłączony do interfejsu, który może być zsynchronizowany, aby zapobiec nieprawidłowego poboru danych.
  • Akustyczne (ang. Acoustic Motion Capture)- jest znacznie różniącą się metodą przechwytywania ruchu. Polega na wykorzystaniu triady odbiorników audio. Tablica nadajników audio jest przywiązany do różnych części ciała aktora. Nadajniki są kolejno wywoływane do wejścia w stan "kliknięcia" i każdy odbiornik dokonuje pomiaru czas potrzebnego na podróż dźwięku z każdego nadajnika.
  • Protetyczne (ang. Prosthetic Motion Capture) - jest to jedna z pierwszych metod przechwytywania ruchu z różnych części ludzkiej anatomii. Metoda ta obejmuje proste "`on/off"' typu systemów detekcji ruchu, jak i złożonych systemów śledzenia ruchu. Ten ostatni typ wychwytywania protetycznego ruchu miałby idealne podejście, gdyby nie rodzaj złożonych wymagań mechanicznych. Niniejsza metoda bazuje na zewnętrznej strukturze (pancerzu plastikowym), który muszi być przymocowany do całego ciała aktora

czwartek, 4 października 2012

Rodzaje mapowania tekstur

 Dzisiaj zajmiemy się wymienieniem dokładnych technik mapowania. Zostaną tutaj opisane cztery najważniejsze techniki, a następnie będzie do każdej z nich podany przykład aby można było wizualnie zobaczyć jak na konkretnym obiekcie prezentuje się dana metoda.

MIP Mapping to technika, która głównie zależy od odległości od obserwatora poprzez zmianę rozdzielczości odwzorowywanej tekstury. Polega to na tym, że im bliżej znajduje się obiekt, na
który ma zostać nałożone mapowanie, tym użyta do tego celu zostaje tekstura o większej rozdzielczości. Sytuacja jest odwrotna jeśli obiekt znajduje się dalej od obserwatora, to oznacza że zostaje użyta tekstura i mniejszej rozdzielczości. Technikę tą stosuje się głównie w celu zmniejszenia szumów powstałych w trakcie zastosowania tekstur o dużej rozdzielczości dla małych obiektów. Jednak metoda ta wymaga większego nakładu pamięci, ze względu na to że zostaje przechowywany w bazie tekstur ten sam obraz, tylko o różnych rozmiarach rozdzielczości, co ilustruje rys. 1.


Rodzaje mapowania tekstur


Bump Mapping czyli mapowanie nierówności jest techniką polegającą na wykorzystaniu tekstury do modyfikacji wektora normalnego. Polega to na określeniu co najmniej dwóch tekstur, gdzie
jedna z nich odwzorowana zostaje na obiekcie a druga nie jest bezpośrednio przypisana obiektowi lecz przyczynia się, że na jego powierzchni powstają lokalne zniekształcenia wektora normalnego.
Model oświetlenia w pewien sposób wiąże kąt pomiędzy promieniem światła a wektorem normalnym, w efekcie prowadzi to do zakłócenia wektora normalnego, który sprawia, że na powierzchni modelu otrzymujemy wrażenie nierówności. Skutek ten można rozpoznać poprzez
obserwację brzegu obiektu, które nie są zakłócone. Mapowanie daje znakomite wrażenie nierówności powierzchni, ale nie zmienia w rzeczywistości jej kształtu. Geometria obiektu nie zostaje w jakikolwiek sposób przekształcona, co ilustruje rys. 2.


Rodzaje mapowania tekstur


Displacement Mapping mapowanie przemieszczeń to technika, która powoduje zmianę geometrii obiektu poprzez przemieszczanie wierzchołków na podstawie wprowadzonej mapy przesunięć. Nałożenie mapy na powierzchnie obiektu powoduje przemieszczenie pozycji punktów obiektu najczęściej wzdłuż lokalnych normalnych powierzchni. Funkcja określająca które piksele zostaną przemieszczone zależy od informacji zawartych w nałożonej teksturze. Technika ta daje bardzo
dobre efekty głębi oraz szczegółowości, dodatkowymi zaletami deformacji powierzchni obiektu jest rzucanie cieni własnych przez obiekt oraz wzajemne przesłanianie. Wadą tej techniki natomiast jest
zdecydowane obciążenie komputera. Przykład pokazany jest na rys. 3.



Rodzaje mapowania tekstur



Normal Mapping jest techniką, która polega na tym, że nie modyfikujemy geometrii prezentowanego obiektu, modyfikujemy tylko wektory normalne (czyli wektory prostopadłe do powierzchni). Metoda ta jest podobna do wymienionych wcześniej technik mapowania
nierówności oraz mapowania przemieszczeń, jednakże pozwala osiągnąć zdecydowanie lepsze wyniki przy znacznie mniejszym obciążeniu pamięci. Zamiast interpolować wektory normalne dla każdego piksela (korzystając z wektorów normalnych w wierzchołkach modelu), zostają
one odczytane z dodatkowej tekstury. Każda składowa koloru piksela tekstury (r,g,b) odpowiada współrzędnym wektora normalnego (x,y,z) w renderowanym pikselu. Tak uzyskany wektor normalny jest używany w obliczeniach intensywności światła. Efekt zastosowania widać na rys. 4.


Rodzaje mapowania tekstur



Oczywiście normal mapping daje tylko złudzenie głębi, gdy np. spojrzymy na obiekt pod dużym kątem dostrzeżemy, że mamy do czynienia z czymś kompletnie płaskim. Wrażenie \"chropowatości\" występuje gdy na obiekt patrzymy pod kątem prostym.

wtorek, 2 października 2012

Mapowanie tekstur

Na wstępie przedstawię podstawowe pojęcia pojawiające się w kontekście mapowania tekstur a następnie opiszę czym jest tekstura i w jaki sposób jest nakładana na obiekt. Kolejny post poświęcony będzie podaniu rodzai mapowania tekstur, który w gruncie rzeczy będzie kontynuacją dzisiejszego posta.
 

Podstawowe pojęcia:

Aproksymacja - jest to zastępowanie jednych wielkości innymi, bliskimi w ściśle sprecyzowanym
sensie.
Teksel – piksel tekstury, najmniejszy element tekstury, który jest wyświetlany na ekranie.

Tekstura - jest to przestrzenny rozkład danego zjawiska. To funkcja modyfikująca wygląd powierzchni obiektu. Aproksymacją tej funkcji może być bitmapa.
Tekstura to tylko nałożenie obrazu – zdjęcia, ale może to być także zmiana pewnych postrzeganych właściwości materiałowych. Możliwa jest także zmiana pewnych cech związanych z otoczeniem – tekstura jest także stosowana do przyspieszenia lub uproszczenia wyznaczania oświetlenia (barwa światła odbitego, rozproszonego, stopień przeźroczystości, itd.). Tworząc teksturę zwiększamy stopień realizmu generowanych obrazów, dodając pewne cechy obiektom, które bez tego wyglądałyby nienaturalnie.

Jednocześnie ponieważ jest to nakładanie – odwzorowanie obrazu na powierzchni materiału, to jest to technika szybsza i efektywniejsza niż realizacja rzeczywistego definiowania właściwości powierzchni obiektu.

Mapowanie tekstury (nakładanie tekstury) – jest to proces obliczania współrzędnych (u,v) tekstury dla każdego wierzchołka modelu. Współrzędne (u,v) wyraża się jako liczby zmiennoprzecinkowe znormalizowane do przedziału <0,1>.
Dla każdego punktu w modelu ustala się odpowiedni region na mapie tekstury. Przykład odwzorowania ukazany jest na rys.1


Mapowanie tekstur


Innymi słowy mapowanie polega na określeniu w jaki sposób powiązać teksele tekstury z obiektem na który ma zostać nałożona.

Ze względu na sposób w jaki tekstura zostaje nałożona na obiekt, można wyróżnić podstawowe
  • liniowe
  • cylindryczne
  • sferyczne

    Mapowanie tekstur


poniedziałek, 1 października 2012

Mapa materiałowa

Post dzisiaj przeniesie nas definicję obrazu dwuwymiarowego, skupimy się na jego właściwościach a także postaram się wyróżnić różne rodzaje map materiałowych, stosowane na obrazach zarówno 2D jak i 3D.

Mapa materiałowa to obraz dwuwymiarowy, który jest "owijany" wokół powierzchni trójwymiarowej. To właśnie dzięki mapom można w łatwy sposób nadać określonych cech obiektom np. tworząc strukturę wgnieceń na powierzchni. W odróżnieniu od opisanych powyżej różnych właściwości materiału, które opierały się głównie na oddziaływaniu promieni świetlnych mapa umożliwia wprowadzenie nowych elementów i szczegółowych detali na powierzchnię modelu.

Istnieją różne rodzaje map materiałowych. Niektóre nakładają obrazy na obiekty, inne określają obszary mające ulec przekształceniom przez porównywanie intensywności (jasności) piksela na mapie. Do najważniejszych należą:
  • Mapy dwuwymiarowe (2D) - mogą zostać nałożone na powierzchnię obiektu lub też użyte jako tło sceny (tzw. mapy środowiskowe). Mapy 2D nie posiadają głębi, co powoduje że pojawiają się tylko na powierzchni obiektu. Najpopularniejszymi mapa dwuwymiarowymi są mapy typu Bitmap, które umożliwiają załadowanie z dysku dowolnego obrazu a następnie bezpośrednie nałożenie na wybraną powierzchnię. Każda mapa nałożona na obiekt musi posiadać współrzędne mapowania, które określają sposób jej ułożenia na obiekcie tzw. narożniki mapy.

    Mapy dwuwymiarowe są obecnie najczęściej stosowane. Przedstawione są w formie zdjęć fotograficznych jako obraz powierzchni obiektów rzeczywistych (np. tkaniny, kory drzew, ściany, krajobrazu). Przykład różnych map 2D został pokazany na rys. 1.

Mapa materiałowa

  • Mapy trójwymiarowe (3D) - są tworzone proceduralnie, co oznacza że nie są tylko zgrupowaniem pikseli lecz powstają przy użyciu algorytmu matematycznego. Algorytm ten opisuje mapę w trzech wymiarach, dzięki czemu powoduje ponowne układanie się niej wzdłuż krawędzi po odcięciu części obiektu, na którym jest nałożona. Mapy 3D nie są już płaskimi obrazami posiadającymi tylko szerokość i wysokość lecz tworzą przestrzeń trójwymiarową, w której kolory zostają rozłożone na wypukłej powierzchni sześcianu. Dzięki temu mapy posiadają trzeci wymiar - głębię, poprzez którą pojedyncze mapy 2D zostają ułożone sekwencyjnie jedna za drugą.

    Najczęściej spotykane mapy proceduralne to szachownica, marmur, wzór typu plaster miodu, chmury, różnorodne gradienty. Przykład użycia różnych map 3D zaprezentowano na rys. 2.

    Mapa materiałowa


czwartek, 27 września 2012

Istota barw

Dzisiaj postanowiłam wrócisz jeszcze do znaczenia kolorów, postaram skupić się na barwach ich właściwym doborze i co najważniejsze zestawieniu odpowiednich kolorów ze sobą aby ładnie komponowały się. Istotne jest to podczas tworzenia stron internetowych, a także tworząc różnego rodzaju animacje. 

Barwa jest wrażeniem wzrokowym wywoływanym w mózgu przez promieniowanie
padające na receptory oka. Barwa wpływa na nasze funkcjonowanie i samopoczucie. Nie ulega wątpliwości, że barwy działają na nas bardzo silnie, wywołując określone skojarzenia i pobudzając wyobraźnię. Dlatego tak ważne jest aby tworząc bajkę odpowiednio dobrać barwy, a tym samym podnieś walory estetyczne animacji, a także sprawić by nabrała rzeczywistego wyglądu.

Barwy mają określoną symbolikę. Niektóre z nich są przez nas jednoznacznie odbierane i interpretowane. Orzeźwiająca zieleń jest symbolem wszystkiego, co związane z naturą, ekologią, harmonią oraz lekkością. Żółć i pomarańcz rozgrzewają oraz ożywiają. Działająca pobudzająco czerwień jest dla wielu kolorem miłości i namiętności, a dla innych – wojny i rewolucji. Fiolet i burgund to barwy tajemniczości oraz dostojeństwa. Czerń wzbudza respekt i szacunek oraz kojarzy się ze smutkiem. Błękit chłodzi i wywołuje dystans, choć podobnie jak biel może symbolizować niewinność. Róż kojarzy się z kobiecością i słodyczą, a także delikatnością.

Każdy kolor posiada swoje indywidualne znaczenie, dlatego tak ważne jest aby odpowiednio dobierać barwy, a tym samym wywoływać zamierzone skojarzenia i emocje u widza.

Właściwego doboru barw dokonuje się poprzez zastosowanie pewnych zasad, które pomagają w odpowiednim zestawieniu kolorów. Aby jednak ukazać działanie każdej z tych reguł należy najpierw zdefiniować takie pojęcie jak - koło barw rys. 1, który przedstawia graficzny model mieszania i powstawania barw.

Mając zdefiniowane koło barw można wymienić zbiór zasad, którymi należy się kierować podczas procesu wyboru kolorów rys. 2, rys. 3:
  • zasada komplementarności - polega na wybraniu dowolnych dwóch kolorów leżących naprzeciw siebie 

  • zasada triady - wybiera się dowolne trzy lub cztery kolory leżące w jednakowych odległościach na kole barw, tworząc swymi wierzchołkami trójkąt lub czworokąt 

  • zasada analogii – dobiera się barwy leżące jedna obok drugiej, czyli w swoim sąsiedztwie
Istota barw

Rys. 2 Zasada komplementarności od lewej, analogii oraz triady (trójkąta)

  • kolory monochromatyczne – barwy różniące się jasnością lub nasyceniem w obrębie jednego koloru

  • reguła podzielonej komplementarności (ang. split-complementary) – polega na wyborze jednego koloru dominującego, który następnie jest dopełniany dwoma kolorami znajdującymi się w swoim sąsiedztwie
Istota barw

Rys. 3 Zasada triady (czworokąta), podzielonej komplementarności oraz kolory monochromatyczne

środa, 26 września 2012

Rodzaje filtrów w grafice

Przejdziemy dziś do omówienia filtrów występujących w grafice. Większość z nich wykorzystują programy graficzne typu: Adobe Photoshop, Paint Show Pro, czy Corel Draw. W każdym z tych programów znajdziemy kilka podstawowych filtrów, które postaram się tutaj przedstawić.

Filtry służą do zmieniania wartości danego punktu, biorąc pod uwagę jego najbliższe otoczenie. Filtr rozumiany jest jako tablica jedno lub dwuwymiarowa.

Do podstawowych filtrów graficznych należą:

  • Filtr dolnoprzepustowy -filtr ten służy do przepuszczania elementów obrazu o małej częstotliwości, a tłumieniu lub całkowitemu blokowaniu elementów o dużej częstotliwości. Wykorzystuje się je głównie do redukcji szumu w obrazie
Rodzaje filtrów w grafice

  • Filtr górnoprzepustowy - służy do wzmocnienia szczegółów o dużej częstotliwości, przy zachowaniu integralności szczegółów o małej częstotliwości. Filtr ten wykorzystywany jest do zaakcentowania szczegółów w obrazie, tak, aby były lepiej rozpoznawane i widoczne, przy stosowaniu tego filtru zwiększa się ostrość obrazu, wadą jego jest fakt, iż zwiększa szum w obrazie.

Rodzaje filtrów w grafice

  • Filtr medianowy- służy do usuwania z obrazu zakłóceń typu punktowego. Działa na zasadzie, że do piksela docelowego wpisywana jest mediana z wartością pikseli sąsiednich. Mediana wyznaczana jest w sposób, że do wartości pikseli z otoczenia sortuje się od największego do najmniejszego a następnie wybiera się wartość środkową ciągu.
Rodzaje filtrów w grafice

  • Filtr wykrywający krawędzie - nazywany konturowym, służy do zaznaczenia kształtów obiektu w obrazie. Działają na zasadzie gradientowej (gradient określa jak zmieni się jasność pomiędzy sąsiednimi pikselami). Filtry wykrywające krawędzie służy do rozjaśnia lub ściemniania obrazu. Stopień nasycenia określany jest przez zmienną. Gdy jej wartość jest dodatnia to obraz jest rozjaśniany, w przeciwnym wypadku następuje odjęcie wartości: [+] + [-] = [-] obraz jest przyciemniany.
  • Negatyw po filtrowaniu, służy do "odwrócenia" obrazu pod względem barwy. Kolory jasne stają się ciemne, a ciemne jasnymi.

    Rodzaje filtrów w grafice




wtorek, 25 września 2012

Projektowanie grafiki do druku

Dzisiaj zajmiemy się projektami przeznaczonymi do druku. Postaram się wymienić podstawowe zasady jakimi należy się wzorować oraz do jakiej drukarni udać się już z gotowym projektem np. ulotki.

Podstawową zasadą grafiki do druku jest wykonanie jej w trybie kolorów CMYK i rozdzielczości co najmniej 300dpi (300px na cal kwadratowy). Dlatego nie warto na własną rękę wysyłać plików do drukarni jeśli nie wiemy np. w jakim trybie kolorów jest zrobiony, ale jeśli drukarnia jest porządna to nie przyjmie takiego pliku lub poinformuje swojego klienta, że plik nie spełnia minimalnych wymagań do druku i wydrukuje tylko na odpowiedzialność klienta. Zdarzają się jednak drukarnie, które nie informują o takich rzeczach i po prostu drukują nie biorąc odpowiedzialności za jakość wydruku przesłanego do nich kiepskiej jakości pliku. Warto w takich przypadkach skorzystać z doświadczonych grafików, którzy doradzą jaki plik można przekazać do druku jeśli dysponujemy własnym prywatnym sprzętem, który ktoś chciałby wydrukować.

Projektowanie grafiki do druku


Chciałam się skupić na projektach do druku, które są przekazywane do drukarni. Takimi projektami jak:
  • wizytówki,
  • plakaty,
  • papier firmowy,
  • teczki ofertowe czy foldery,
  • opakowania,
  • ulotki
  • torby

Profesjonalnie przygotowany projekt graficzny np. ulotki zaprojektowany według wymagań klienta przesyła się do drukarni ze ściśle określonymi zasadami przygotowania do druku określonymi przez drukarnie, a każda drukarnia ma inne wymagania choć zbliżone. Spowodowane jest to stosowanymi przez drukarnie różnymi drukarkami czy gilotynami, które potem przycinają dany wydruk.
Przy przykładowej ulotce, projekt wysyłany jest do drukarni stosującej druk offsetowy, dobrą zasadą takiego druku jest koszt druku, który jest tańszy od ilości nakładu tzn. im większy nakład tym taniej wychodzi za jedną sztukę wydruku.


Opisze także 5 zasad jak poprawnie przygotować grafikę do druku?
  1. Nie używaj do druku plików graficznych będących elementem strony internetowej.
    Pliki graficzne będące elementem strony internetowej mają zmniejszoną rozdzielczość do tzw. rozdzielczości ekranowej, czyli 72 dpi (dot per inch, po polsku – punkty na cal). Robi się to w celu zmniejszenia wielkości pliku po to, aby witryna wczytywała się jak najszybciej. Oszczędza się w ten sposób czas oraz transfer danych z serwera. 
     
  2. Wszystkie teksty w projekcie zamieniaj na krzywe.
    Programy graficzne, w celu zmniejszenia wielkości plików domyślnie nie osadzają czcionek w dokumencie. Projektując np. logo i slogan firmowy używamy często czcionek o wyrafinowanym kroju, mało rozpowszechnionych, a zdarza się, że i przygotowywanych specjalnie dla danej firmy. 

  3. Stosuj kolory w określonej skali.
    W profesjonalnym druku nie ma takich określeń kolorów jak “błękit nieba” czy “zieleń trawy”. Wbrew pozorom niebo w bezchmurny dzień ma różne odcienie niebieskiego, w zależności pod jakim kątem pada światło słoneczne, a trawa ma niezliczoną ilość gatunków różniących się odcieniem zieleni. 

  4. Zapisuję pliki w ogólnodostępnych formatach
    Ponieważ nie masz pewności jakich programów i jakich wersji używają inni. Trzeba pamiętać, że starsze wersie oprogramowania nie otwierają plików zapisanych przez nowsze wersje tych samych aplikacji. Jeśli używamy najnowszej wersji oprogramowania, a studio graficzne jeszcze nie, to w najlepszym przypadku grafik otworzy pusty plik, bez grafiki, lub nie otworzy go wcale. 

  5. Nie wysyłaj dużych plików jako załączniki do listu e-mail.
    Ponieważ nie masz pewności jakie limity na wielkość załączników ma firma, do której chcę przesłać plik. Jeśli plik jest większy niż to ograniczenie, to po pierwsze, list z załącznikiem będziemy wysyłali bardzo długo, a po drugie… nie dojdzie on do adresata, tylko my dostaniemy go z powrotem (z tym wielkim załącznikiem) i z komunikatem o przekroczeniu limitu załącznika listu



poniedziałek, 24 września 2012

Bibioteka OpenGl c.d.


Tak jak już obiecałam postaram się rozszerzyć wiedzę na temat biblioteki OpenGL. Post ten będzie skupiał się na teorii ogólnie związanej z tą biblioteką, a mianowicie umieszczę informację o układzie współrzędnych, o barwach, buforze ramki, a także o oknie renderingu.


Układ współrzędnych

Biblioteka OpenGL stosuje prawoskrętny układ współrzędnych kartezjańskich (pokazane na rysunku), w którym os OZ skierowana jest prostopadle do płaszczyzny monitora. Warto także pamiętać, ze literatura informatyczna preferuje lewoskrętne układy współrzędnych z osia OZ skierowana w głąb monitora.

Układ współrzędnych w OpenGL
Bibioteka OpenGl c.d.


Barwy

Biblioteka OpenGL wykorzystuje model barw RGB, opierający się na trzech podstawowych barwach: czerwonej, zielonej i niebieskiej. Barwa może być opisywana bezpośrednio przez wartości składowych RGB, bądź w trybie indeksowym z użyciem mapy (tablicy) barw. Obecne możliwości procesorów graficznych czynią stosowanie trybu indeksowego nieopłacalnym, stad w przykładowych programach będziemy używać pełnego zakresu barw oferowanego przez model RGB, w razie potrzeby uzupełniając składowe RGB o kanał alfa (RGBA). Wybór trybu w jakim będzie generowany obraz dokonywany jest podczas tworzenia okna renderingu.



Bufor ramki

W OpenGL w skład bufora ramki (pamięci obrazu) wchodzą następujące elementy:
  • bufor koloru (ang. color buffer),
  • bufor głębokości, nazywany także buforem głębi (ang. depth buffer),
  • bufor szablonowy, nazywany także buforem szablonu (ang. stencil buffer),
  • bufor akumulacyjny (ang. accumulation buffer).
Specyfikacja wymaga istnienie co najmniej jednego bufora koloru, ale implementacje biblioteki OpenGL zawierają najczęściej dwa bufory koloru: przedni i tylni. Zamiana buforów umożliwia płynne wyświetlenie animacji - jeden bufor jest aktualnie prezentowany na ekranie monitora, a drugi służy do generowania nowej sceny 3D. Ponadto implementacja OpenGL może zawierać lewe i prawe bufory koloru, które umożliwiają tworzenie obrazów stereoskopowych. Bufor głębokości używany jest podczas działania algorytmu Z-bufor, którego zadaniem jest ukrywanie niewidocznych powierzchni. Bufor szablonu służy do ograniczenia obszaru renderingu do wybranej części okna i w implementacjach często jest łączony z buforem głębokości Ostatni z wymienionych elementów ramki - bufor akumulacyjny, umożliwia łączenie kilku obrazów w celu uzyskania określonego efektu końcowego Wybór, które bufory wchodzą w skład ramki dokonuje się podczas tworzenia okna renderingu.

Okno renderingu

Jedna z konsekwencji sprzętowej i systemowej niezależności biblioteki OpenGL jest brak jakichkolwiek funkcji obsługujących komunikacje z użytkownikiem, w tym obsługi okien, klawiatury i myszki. Większość graficznych systemów operacyjnych posiada jednak specjalizowane funkcje pozwalające na obsługę okna renderingu OpenGL. Przykładowo X Windows zawiera bibliotekę GLX, Microsoft Windows bibliotekę WGL, IBM OS/2 bibliotekę PGL, a Mac OS X aż trzy biblioteki: AGL, CGL i NSGL. Także systemy wbudowane, korzystające ze znacznie skromniejszej biblioteki OpenGL ES (ang. OpenGL Embedded Systems), zawierają bibliotekę narzędziową EGL. Oczywiście stosowanie rozwiązań specyficznych dla danego systemu operacyjnego powoduje, ze danego programu nie można skompilować i uruchomić w innym systemie operacyjnym bez dokonania szeregu zmian w tekście źródłowym Rozwiązanie tego problemu stanowią biblioteki oferujące jeden, niezależny od systemu operacyjnego, interfejs do obsługi okien i komunikatów.

Pierwsza biblioteka tego typu była biblioteka AUX (ang. Auxiliary Library), zwana także pod nazwa GLAUX. Jednak największą popularność zdobyła biblioteka GLUT (ang. OpenGL Utility Toolkit), opracowana i rozwijana w latach 1994-1998 przez Marka J. Kilgarda. Jej autor rozwinął idee zapoczątkowane przez twórców biblioteki AUX, co ułatwia konwersje programów korzystających z tej biblioteki (patrz skrypt aux2glut.sed). Bibliotek GLUT, choć od kilku lat nie rozwijana (ostatnia wersja to 3.6), jest ciągle najbardziej popularna i powszechnie stosowana wieloplatformowa biblioteka służąca do uruchamiania programów w OpenGL. Stad naturalna decyzja o wyborze tej biblioteki przy pisaniu przykładowych programów.

Maszyna stanów

Maszyna stanów OpenGL to po prostu zbiór wszystkich zmiennych wewnętrznych (zmiennych stanu) i ustawień biblioteki. Wiele zmiennych stanu jest dwustanowych, inne maja wartości całkowite lub zmiennoprzecinkowe. Ważna cecha maszyny stanów OpenGL jest zachowywanie zmiennych stanu do czasu, aż zostaną one zmienione przez jakąś funkcje. Pozwala to na prosta optymalizacje programów poprzez oddzielenie i jednokrotne wywołanie grupy funkcji ustawiających wartości tych zmiennych stanu, które nie ulegają dalszym zmianom.


Obsługa błędów

Ważne znaczenie w bibliotece OpenGL spełniają zmienne stanu oznaczające wystąpienie błędu Informacje o kodzie bieżącego błędu zwraca funkcja:
C/C++
GLenum glGetError( void )

Oto znaczenie poszczególnych kodów błędów:
  • GL_NO_ERROR - brak błędu,
  • GL_INVALID_ENUM - argument typu wyliczeniowego poza dopuszczalnym zakresem,
  • GL_INVALID_VALUE - argument liczbowy poza dopuszczalnym zakresem,
  • GL_INVALID_OPERATION - operacja niewykonalna w obecnym stanie,
  • GL_STACK_OVERFLOW - operacja spowodowałaby przepełnienie stosu,
  • GL_STACK_UNDERFLOW - operacja spowodowałaby niedomiar stosu,
  • GL_OUT_OF_MEMORY - brakuje pamięci do wykonania operacji,
  • GL_TABLE_TOO_LARGE - wskazana tablica jest za duża.
Wystąpienie błędu nie powoduje przerwania wykonywania programu - nie jest wykonywana jedynie funkcja odpowiedzialna za jego powstanie. Wyjątek stanowi wystąpienie błędu o kodzie GL_OUT_OF_MEMORY, który powoduje powstanie stanu nieokreślonego Uwagę należy zwrócić na mechanizm przechowywania kodów błędów Każdy rodzaj błędu jest oddzielnie zapamiętywany, a każdorazowe wywołanie funkcji glGetError zwraca kod tylko jednego błędu Stad w przypadku sprawdzania wystąpienia błędu niezbędne jest wywoływanie funkcji glGetError tak długo, aż zwrócona zostanie wartość GL_NO_ERROR. Biblioteka GLU ma odrębne kody błędów będące odpowiednikami kodów błędów OpenGL: GLU_INVALID_OPERATION, GLU_INVALID_ENUM, GLU_INVALID_VALUE i GLU_OUT_OF_MEMORY. Ciąg znaków opisujący kod błędu biblioteki OpenGL oraz GLU, wskazany w parametrze errorCode, zwraca funkcja:
C/C++

const GLubyte * gluErrorString( GLenum errorCode )

Przykładowo błąd o kodzie GL_INVALID_VALUE spowoduje zwrócenie ciągu znaków "invalid value". 


Bibioteka OpenGl c.d.



piątek, 21 września 2012

Bibioteka OpenGl

Teraz nadszedł czas aby poszerzyć wiedzę na temat grafiki a dokładnie rzecz ujmując, chciałam dzisiaj zając się bibiotekom OpenGl. W tym poście umieszczę, na razie tylko informacje podstawowe informacje o bibliotece OpenGL, składnia funkcji oraz typy danych. W kolejnym poście zajmę się dalszym rozwinięciem informacji na temat biblioteki.

Podstawy

Pierwsza wersja biblioteki OpenGL (ang. Open Graphics Library) powstała w 1992 roku na bazie języka GL opracowanego przez firmę Silicon Graphics Inc. (w skrócie SGI) na potrzeby stacji graficznych IRIS. Dopiero jednak sukces systemów z rodziny Microsoft Windows, w których zaimplementowano OpenGL w wersji 1.1, stał się początkiem ogromnej popularności biblioteki. Obecnie OpenGL jest podstawowa niskopoziomowa biblioteka graficzna 3D, obsługiwana przez wszystkie liczące się systemy operacyjne oraz większość procesorów graficznych.

Niezależność od platformy sprzętowej oraz ogólnie dostępna specyfikacji czyni z OpenGL standard powszechnie wykorzystywany przez producentów oprogramowania użytkowego i gier. Rozwojem OpenGL zajmuje się organizacja ARB (ang. Architecture Review Board), w skład której wchodzą przedstawiciele firm 3DLabs, Apple, ATI, Dell, IBM, Intel, NVIDIA, SGI i Sun (stan na koniec 2004 roku). Taki sposób wprowadzania zmian w bibliotece zapewnia zachowanie niezależności OpenGL od jednej platformy sprzętowej lub programowej przy jednoczesnym uwzględnieniu do najnowszych osiągnięć w dziedzinie grafiki komputerowej. Materiały ze spotkań członków ARB, specyfikacje i szeregu innych materiałów na temat OpenGL dostępne są na oficjalnej stronie ARB: http://www.opengl.org/. Ważnym uzupełnieniem OpenGL jest biblioteka GLU (ang. OpenGL Graphics System Utility Library). GLU zawiera szereg dodatkowych narzędzi, w tym do obsługi macierzy, odwzorowania tekstur, kafelkowania wielokątów, powierzchni drugiego stopnia oraz krzywych i powierzchni NURBS.

Składnia

Polecenia OpenGL określane są jako funkcje lub procedury. Znaczna część funkcji wykonuje te same operacje, ale rożni się zbiorem argumentów. Przyjęta konwencja nazewnictwa określa ilość i rodzaj parametrów funkcji według poniższego schematu:

rtype Name {1|2|3|4} {b|s|i|f|d|ub|us|ui} {v}
([args,] T arg1, ..., T argN [,args])

gdzie poszczególne elementy oznaczają:

rtype wartość zwracana przez funkcje.
Name nazwa funkcji poprzedzona przedrostkiem gl lub glu dla funkcji z biblioteki GLU.
1, 2, 3, 4 ilość argumentów funkcji.
b argumenty typu GLbyte.
s argumenty typu GLshort.
i argumenty typu GLint.
f argumenty typu GLfloat.
d argumenty typu GLdouble.
ub argumenty typu GLubyte.
us argumenty typu GLushort.
ui argumenty typu GLuint.
v argument funkcji stanowi tablica wartości - w tym wypadku nie występuje określenie ilości argumentów funkcji.
T arg1, ..., T argN   argumenty funkcji.

Składnia ta przypomina w swoich założeniach notacje węgierska, stosowana m.in. w API systemów z rodziny Windows. Może ona początkowo sprawiać problemy, ale przy pewnej praktyce okazuje się praktyczna i wygodna w stosowaniu. Podobnie jak w specyfikacja biblioteki OpenGL ta i dalsza
część opisu wykorzystuje notacje przyjęta w języku ANSI C.


Typy danych w OpenGL

Poniższa tabela zawiera typy danych dostępne w bibliotece OpenGL.

typ OpenGL minimalna
ilość
bitów
opis
GLboolean 1 typ logiczny
GLbyte 8 liczba całkowita ze znakiem (U2)
GLubyte 8 liczba całkowita bez znaku
GLchar 8 ciąg znaków tekstowych
GLshort 16 liczba całkowita ze znakiem (U2)
GLushort 16 liczba całkowita bez znaku
GLint 32 liczba całkowita ze znakiem (U2)
GLuint 32 liczba całkowita bez znaku
GLsizei 32 nieujemna liczba całkowita
GLenum 32 typ wyliczeniowy całkowity
GLintptr ptrbits wskaźnik na liczbę całowitą ze znakiem (U2)
GLsizeiptr ptrbits wskaźnik na nieujemna liczbę całkowita
GLbitfield 32 pole bitowe
GLfloat 32 liczba zmiennoprzecinkowa
GLclampf 32 liczba zmiennoprzecinkowa z przedziału [0, 1]
GLdouble 64 liczba zmiennoprzecinkowa
GLclampd 64 liczba zmiennoprzecinkowa z przedziału [0, 1]



Specyfikacja nie określa jakiego rodzaju typy danych są użyte w konkretnej implementacji biblioteki OpenGL. W szczególności typy danych OpenGL nie są typami danych występującymi w języku C (pomimo częściowej zgodności nazw). Implementacja OpenGL może stosować typy danych zawierające większą niż minimalna ilość bitów. prtbits oznacza minimalna ilość bitów niezbędna do umieszczenia wskaźnika Stad typy intptr i sizeiptr muszą umożliwić zapamiętanie dowolnego adresu. Poza wyżej wymienionymi typami danych biblioteka OpenGL zawiera typ pusty GLvoid.

Bibioteka OpenGl

czwartek, 20 września 2012

Polska grafika komputerowa

Dzisiaj chciałam opisać troszkę historię polskiej grafiki komputerowej. Zostaną także wymienieni niektórzy zasłużeni artyści w tej dziedzinie.

Grafika komputerowa w Polsce zaczęła się rozwijać pod koniec lat osiemdziesiątych, gdy dostęp do komputerów klasy PC był już możliwy. W warszawskiej Zachęcie w kwietniu 88 r. wystawę grafiki komputerowej urządziła grupa twórcza Studio "Ega", działająca od 87 r. pod patronatem firmy "Refleks" (inaczej: Przedsiębiorstwa Wdrażania Postępu Techniczno-Organizacyjnego). Członkowie Studia "Ega" to warszawscy graficy. Prace, które pokazywali w Zachęcie, wykonane techniką cyfrową, z wykorzystaniem urządzenia umożliwiającego rysowanie, prezentowane były bądź w formie wydruków czarno-białych, później kolorowanych, bądź jako powiększenie zdjęć z obrazu na monitorze. Była to konieczność, gdyż artyści nie dysponowali dostatecznie doskonałą wielobarwną drukarką, zazwyczaj używaną do przenoszenia obrazów z monitora na materiał trwały. Podczas wystawy pokazywano też bezpośrednio na monitorach serie interesujących barwnych przekształceń poszczególnych prac, a także próby animacji dla potrzeb telewizji. Młodzi artyści świadomi byli studialnego, ćwiczebnego charakteru swojej pracy z komputerami i tego, że w bardzo małym stopniu umieli wykorzystać specyficzne właściwości nowego narzędzia. Do pełnego ich zastosowania konieczna jest zmiana podejścia, sposobu myślenia. Dopiero wyjście poza nawyki warsztatowe, wyniesione z uczelni plastycznej, pozwoli zrozumieć w pełni charakter i możliwości nowego narzędzia, jakim może stać się grafika komputerowa. Rysujące maszyny cyfrowe interesowały także fotografów. Również w Polsce, gdzie profesjonalne komputery graficzne należały do rzadkości, wzrastało zainteresowanie komputerowym przetwarzaniem zdjęć, choćby i na dostępnym, dosyć prostym sprzęcie.


Zasłużeni wybrani twórcy polskiej grafiki komputerowej 
 
  • Zdzisław Beksiński
    Urodził się w 1929 r. w Sanoku. Beksiński rozpoczął swoją twórczość, jako fotografik, prezentując w 1958 r. znakomite prace na kilku wystawach w Warszawie, Gliwicach i Poznaniu. Mało, kto kojarzy Beksińskiego z czarno-białymi zdjęciami. Jednak to właśnie one rozpoczęły jego drogę do wielkiej sławy. Jego fotografie przedstawiały ludzkie postacie, często w niecodziennych pozach: skulone, jakby bały się czegoś, modelki były owinięte sznurkami, deformującymi ich ciała. Robił zdjęcia piękne, estetyczne, ale zarazem brutalne. Beksiński "pastwi" się nad żywą osobą, sadystycznie deformuje ciała ludzkie. To motywy często pojawiają się w późniejszej twórczości artysty. Można jednak spotkać również inne zdjęcia, piękne i łagodne. 


    Polska grafika komputerowa

     
  • Ryszard Horowitz
     Urodził się w 1939 roku. Jako dziecko przeżył koszmar obozu koncentracyjnego Auschwitz (jest jednym z najmłodszych ocalonych). W latach pięćdziesiątych, jako student krakowskiej Akademii Sztuk Pięknych, zafascynował się amerykańską fotografią. W kipiącej pomysłami i energią młodości atmosferze odwilży po 1956 r. dokumentował rodzące się środowisko jazzowe. Wkrótce wyjechał do USA, gdzie początkowo zajmował się reklamą (pracował jako dyrektor artystyczny w Grey Advertising), po czym otworzył własne studio fotograficzne. Działając na własną rękę zaczął angażować się w eksperyment, grę z formą i zaawansowane technologie. Wypracował swój rozpoznawalny styl, mocno eksperymentalny. Jego zdjęcia przedstawiają odrealnione sceny rodem z marzeń sennych, grę symboli i obrazów. 


    Polska grafika komputerowa

  • Michał Kurc
    Artysta urodził się w 1949 roku. Stworzył pracę, która sam nazwał cyfrografiami. Przedstawia swoje prace na wielu różnorodnych wystawach artystycznych. Każda z nich jest inna i wyjątkowa. Grafik wykorzystuje w swoich pracach różne techniki.
    • Za pomocą techniki skanografii, która polega na skanowaniu różnych przedmiotów stworzył wiele niezwykle ciekawych prac
    • Za pomocą techniki rysowanie światłem (nazwa została wymyślona przez grafika).


Polska grafika komputerowa


Polska grafika komputerowa



Polska może pochwalić się niewątpliwie niezwykle utalentowanymi artystami w zakresie grafiki komputerowej, do którym także także niewątpliwie: Jan Berdak czy też Władysław Pluta. Prace każdego z nich zasługują na duże uznanie. Pomimo swojej różności i inności każda wzbudza zachwyt wielu ludzi.

wtorek, 18 września 2012

Historia grafiki komputerowej

Post będzie obrazował krótki rys historyczny związany z początkami grafiki komputerowej, a skończywszy na rozbudowanych produkcjach obecnych w dzisiejszych czasach.

Lata 1950 Komputer Whirlwind w MIT – grafoskop, pierwsze monitory graficzne, urządzenie CRT – zdjęcia fotograficzne; dziedzina o bardzo wąskim zakresie tylko zastosowania militarne

1962 – system rysujący Sketchpad skonstruowany przez Ivana Sutherlanda składający się z monitora, pióra świetlnego i oprogramowania do interaktywnej obsługi 
 
1964 – zespół naukowy (m.in. Ivan Sutherland, James Blinn, Edwin Catmull) zajmujący się algorytmami w grafice komputerowej pracujący na Uniwersytecie w Utah 
 
1965 – pierwsza komercyjna stacja graficzna: IBM 2250 Display Unit (komputer IBM 1130)

1969 – powstanie grupy SIGGRAPH (Special Interest Group on GRAPHics) w ramach organizacji ACM (Association for Computing Machinery), która skupiała profesjonalistów związanych z informatyką

1974 laboratorium graficzne w New York Institute of Technology

1980 – publikacja artykułu Turnera Whitted’a o realistycznym tworzeniu obrazów, powstanie metody śledzenia promieni (ray tracing)

1982TRON- pierwszy film, w którym zastosowano grafikę komputerową. Pierwsza scena całkowicie wygenerowana komputerowo w filmie Star Trek II: Gniew Khana (The wrath of Khan)

1983 – rozwój technik fraktalnych i ich zastosowanie w grafice komputerowej. Fraktale wykorzystano np. w filmie Star Trek II: The wrath of Khan

1984 – praca C. Gorala, K.Torrance’a, D.Greenberga i B.Battaile’a proponująca nowe podejście do wizualizacji – metodę energetyczną (radiosity)

1988 – pierwsza sekwencja filmowa z wykorzystaniem morfingu w Willow

1989 - postać wygenerowana za pomocą grafiki 3D w wytwórni Industrial Light & Magic (ILM)

1993 – dinozaury w Parku Jurajskim - pierwsze kompletne i szczegółowe organizmy żywe wygenerowane w technice cyfrowej

1995 – film Toy Story zrealizowany w całości za pomocą grafiki komputerowej; pierwsze fotorealistyczne włosy oraz futro wygenerowane komputerowo

1999 – pierwsza postać z kompletną ludzką anatomią wygenerowana komputerowo w wytwórni ILM

2001 – mapowanie fotonowe (photon mapping) jako rozwój metody śledzenia promieni

2009 – film Avatar – rewolucja kina 3D


Dziś grafika komputerowa to bardzo rozbudowana dziedzina, plasująca się gdzieś na pograniczu informatyki i sztuki – leży w sferze zainteresowań zarówno artystów, jak i informatyków, a na dodatek stale, dynamicznie się rozwija – co roku tworzone są nowe technologie, publikowane nowe programy graficzne oraz biblioteki. 



 Historia grafiki komputerowej
 

poniedziałek, 17 września 2012

Koloroterapia, czyli leczenie kolorami

W tym poście chciałam skupić się na właściwościach jakie posiadają kolory. Niewiele z nas może zdaje sobie sprawę, że istnieje coś takiego jak leczenie kolorami. Okazuje się, że barwy mają bardzo leczniczy wpływ na nasz organizm oraz nasze samopoczucie.

Psycholodzy udowodnili, że kolory potrafią wpływać na nasze usposobienie i nastrój. Zapoczątkowana przez Goethego teoria „zmysłowo-estetycznego oddziaływania kolorów” ma do dziś duże znaczenie w psychologii.

W medycynie naturalnej stosuje się ostatnio tzw. chromoterapię lub koloroterapię - formę leczenia, która opiera się przekonaniu o uzdrawiającej mocy kolorów.

Znaczenie poszczególnego koloru na ludzki nastrój:

  • Kolor żółty - ma działanie ożywiające i inspirujące, pobudza tez reakcję rozumowania, pomagając w panowaniu nad własnymi emocjami. Kolor żółty to również symbol intelektu i mądrości, który inspiruje wzniosłe myśli i uspokaja psychicznie. U niektórych osób może jednak wywołać irytację.

  • Do działania pobudzi nas z całą pewnością kolor biały. Nie jest jednak polecany osobom skłonnym do odczuwania samotności i pustki, gdyż może pogłębić taki stan.

  • Kolor czerwony - to kolor młodości. Pobudza sprawność umysłową, daje uczucie ciepła, przyspiesza bicie serca, podnosi ciśnienie tętnicze krwi, poprawia samopoczucie. Potrafi wywołać gwałtowne reakcje – nie tylko jednak bunt, przekorę i namiętność, ale i agresję. Dodaje poza tym odwagi i aktywności. 

  • Kolor niebieski – wg naukowców to najsilniejszy antyseptyk. Niebieski działa chłodząco, znieczulająco i przeciwzapalnie. Powoduje ponadto radość i spokój, wpływa kojąco na skołatane nerwy, łagodzi wzburzone myśli i uczucia, sprowadza spokojny i głęboki sen.

  • Kolor zielony - symbolizuje równowagę i harmonię. Sprawia, że czujemy się bezpiecznie. Jasne odcienie pobudzają koncentrację lub, wręcz przeciwnie, sprzyjają lenistwu. Kolor zielony działa też korzystnie w przypadku leczenia wrzodów żołądka czy grypy.

  • Kolor pomarańczowy - jest kolorem kreatywności, witalności, ciepła i radości. Zbliża, pobudza i oddziałuje pozytywnie na cały organizm. Symbolizuje także niższe zdolności intelektualne, czyli wiedzę zdobywaną tylko na własny użytek.

  • Fiolet - pomoże nam usunąć zmęczenie, złagodzi stres, zniweluje bezsenność. Kolor ten działa oczyszczająco, pogłębia uczucie pustki i samotności.

  • Róż - siostra fioletu i czerwieni, podnosi poczucie bezpieczeństwa, spokoju oraz sprzyja atmosferze relaksu.

  • Brąz - to kolejny kolor, który wywiera duży wpływ na nasze samopoczucie. Gwarantuje on rodzinną atmosferę i bezpieczeństwo. Jednocześnie jednak potrafi sprawić, że odizolujemy się od świata i odbiegniemy myślami od rzeczywistości. Brąz ma jednak bardzo niekorzystny wpływ na osoby o niskim poczuciu wartości, gdy pogłębia ich stan.

  • Czarny charakter wśród kolorów – czerń – sprzyja poczuciu wsparcia. Pomaga także znaleźć właściwy światopogląd osobom poszukującym wartości w swoim życiu.



    Koloroterapia, czyli leczenie kolorami

piątek, 14 września 2012

Zastosowanie grafiki komputerowej

Temat ten został poruszony dopiero teraz ze względu na to, iż najpierw chciałam wymienić poszczególne typy grafiki, czym one się charakteryzują a dopiero mając przedstawioną całą wiedzę na ten temat skupić się ta naprawdę na zastosowaniu grafiki w naszej codzienności.

Obecnie grafika komputerowa jest stosowana w różnych obszarach przemysłu, biznesu, nauczaniu i rozrywce.

Zastosowanie:
    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żytkownikowi 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 multimedialnepołą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.


    Zastosowanie grafiki komputerowej