piątek, 22 lutego 2013

Barwa i światło w grafice komputerowej

Zagadnienie barwy i światła w grafice komputerowej jest bardzo ważne. Niezmiernie trudno jest przygotować  kolorowy materiał do druku w taki sposób aby wiernie odzwierciedlał rzeczywiste kolory. Niemniej jest to możliwe. 

Światło jest promieniowaniem elektromagnetycznym rejestrowanym przez oko ludzkie. Zawiera fale elektromagnetyczne o długości fali od 380nm (fiolet) do 780 nm (czerwień). Każdy z nas w inny sposób odbiera bodźce wzrokowe. Barwa natomiast jest wrażeniem wzrokowym wywołanym w mózgu przez promienie padające na receptory wzrokowe.
Barwa posiada specyficzne dla siebie atrybuty:
  • odcień (ton)
  • nasycenie (mieszanie z barwą białą)
  • jasność (luminacja)
Następnym bardzo ważnym zagadnieniem jest mieszanie barw. Istnieje mieszanie addytywne oraz subtraktywne. Mieszanie addytywne to mieszanie świateł, natomiast subtraktywne-farb. Mieszanie addytywne polega na tym, że jeżeli do oka docierają dwa rodzaje promieniowania to wrażenie końcowe jest widzeniem obu zmieszanych promieni.
W mieszaniu subtraktywnym farba pochłania składowe promieniowania o określonej długości fali np. farba niebieska pochłania wszystkie składowe oprócz niebieskiej i jeśli zostanie ona oświetlona białym światłem to odbije tylko promieniowanie niebieskie i właśnie taka barwę postrzegamy. Wypadkowa mieszania subtraktywnego dąży do czerni. W związku z powyższym pojawia się pojęcie barw dopełniających.
Barwy dopełniające więc są dwoma takimi barwami, których mieszanie addytywne daje biel, a subtraktywne czerń.
Przez lata naukowcy wyodrębnili ze spectrum światła widzialnego trzy kolory składowe: czerwony (Red), zielony (Green) i niebieski (Blue). Mieszając ze sobą te trzy barwy można uzyskiwać inne kolory. Dzięki temu udało się zawrzeć kolor w pewnych granicach i określić go za pomocą liczb. Ten model nazywa się RGB.
Człowiek może rozróżnić maksymalnie 256 odcieni koloru składowego, z tego powodu więc poszczególne kolory modelu RGB opisuje się wartościami od 0 do 255.
Ze względu na brak możliwości jednoznacznego opisu przestrzeni barw tak aby było to użyteczne we wszystkich zastosowaniach  powstało wiele modeli barw:
  • kojarzone ze sprzętem – RGB, CMY-CMYK
  • kojarzone z użytkownikiem – HLS, HLV
  • niezależne – CIE XYZ, CIE Lab
Dla grafika komputerowego najważniejszy jest model RGB, używany przy projektowaniu grafiki wyświetlanej na monitorach tzn. jest doskonały do definiowania kolorów trafiających ze źródła światła bezpośrednio do oka; oraz model CMYK- wykorzystywany w poligrafii.
Znajomość tych modeli w zupełności wystarczy do przygotowania większości prac graficznych. W modelu CMY poszczególne kolory uzyskuje się poprzez nałożenie na papier odpowiedniej farby pochłaniającej światło. Model CMY opiera się na kolorach: cyan (niebieskozielony), magenta (purpurowy), yellow (żółty).
W tym modelu kolory definiujemy inaczej niż w modelu RGB, określamy w procentach poszczególne składowe np: C80, M50, Y100. Zgodnie z tymi założeniami kolor czarny powinno się uzyskać poprzez pokrycie papieru farbami cyan, magenta i yellow. Jednakże tak uzyskany kolor nie jest w pełni czarnym i dlatego dodano jeszcze jedną farbę -karbon (czarny) a model nazywany jest CMYK.

czwartek, 21 lutego 2013

Krótki filmik o grafice komputerowej


Wszystko co popularne

Popularne programy graficzne

Programy do grafiki rastrowej

  • ArtRage
  • ACDSee
  • Adobe Photoshop
  • Corel PHOTO-PAINT z pakietu CorelDRAW
  • Deneba Canvas
  • Effectbank
  • GIMP
  • IrfanView
  • Adobe Fireworks
  • Paint.NET
  • Painter
  • PaintShopPro
  • PhotoFiltre Studio
  • PhotoFiltre

Popularne programy do grafiki wektorowej

  • AutoCAD
  • CorelDraw
  • Macromedia FreeHand
  • Adobe Flash
  • Adobe Illustrator
  • Sketch
  • Inkscape
  • Sodipodi
  • Star Office Draw (jedna z części pakietu)
  • TechCAD
  • Xfig
  • Xara Xtreme
  • Edytor Postaci: Logomocja

Popularne programy do grafiki 3D (pakiety)

  • 3D Studio Max
  • Maya
  • Autodesk Softimage
  • Cinema 4D
  • LightWave 3D
  • Blender
  • Luxology Modo

Popularne formaty graficzne

Popularne formaty grafiki rastrowej

  • BMP
  • GIF
  • JPEG
  • PCX
  • PSD
  • PNG
  • TIFF
  • XCF
  • ICO
  • PPM

Popularne formaty grafiki wektorowej

  • SVG
  • AI
  • CDR
  • EPS

Popularne biblioteki graficzne

  • DirectX, interaktywna
  • GD, nieinteraktywna
  • GTK+, interaktywna
  • OpenGL, interaktywna

piątek, 15 lutego 2013

Rodzaje grafiki komputerowej

1.Podział ze względu na techniki tworzenia:


  •  wektorowa - jest rozszerzeniem grafiki rastrowej. Stosuje ona prymitywy graficzne takie jak: punkty, linie, krzywe oraz kształty lub wieloboki do przedstawienia obrazów w grafice komputerowej. Wszystkie te prymitywy graficzne bazują na równaniach matematycznych. Podstawowym standardem grafiki wektorowej jest SVG. Podstawowe edytory graficzne: CorelDRAW, Adobe Illustrator, oraz Inkscape. Typy prymitywów najczęściej używane w grafice wektorowej:
    • linie i polilinie,
    • poligony,
    • okręgi i elipsy,
    • krzywe Béziera,
    • bezigony,
    • tekst np. TrueType, gdzie każda litera jest utworzona w oparciu o krzywe Bezier’a.
  •  rastrowa - obraz budowany jest z prostokątnej siatki punktów (pikseli).  Najważniejsze formaty plików to: Bitmap, OpenRaster, ICO (Microsoft file format). Formaty takie jak JPEG, TIFF, PNG oraz GIF także przechowują obraz według koncepcji rastrowej, natomiast dodatkowo pojawia się w tych formatach kompresja. Najważniejsze edytory graficzne: Photoshop, MS Paint oraz GIMP.
Rasteryzacja jest to czynność polegająca na konwersji obrazu opisanego w formie wektorowej na obraz rastrowy (piksele lub kropki) w celu wyświetlenia na urządzeniu wizyjnym, wydrukowania lub w celu zapamiętania w pliku w formacie bitmapowym. Sporadycznie stosowana jest odwrotna konwersja.


Przewaga grafiki wektorowej nad rastrową:
  • obraz wektorowy wymaga bardzo małej ilości informacji, co przekłada się na małe pliki. Rozmiar obrazu nie wpływa na rozmiar pliku. Niestety, obraz w praktyce nie ma „detalu”. Jest to „gra coś za coś” – potrzebny jest potężny procesor do wygenerowania informacji wizualnej w oparciu o algorytm,
  • robiąc przybliżenie na krawędź np. okręgu zawsze będzie to krawędź gładka. Z drugiej strony, jeśli krzywa jest reprezentowana np. wielobokiem, to przybliżenie ujawni niewłaściwą reprezentacje matematyczną.
  • przybliżanie krzywych nie zwiększa proporcjonalnie ich grubości jako linii. Zwykle ta grubość nie jest zwiększana albo następuje utrata proporcji. Z drugiej strony, nieregularne krzywe reprezentowane przez proste geometryczne kształty udaje się zrobić proporcjonalnie szersze podczas przybliżenia, tak aby wyglądały gładko i nie przypominały tych składowych kształtów. Problem ten znika w przypadku grafiki fraktalnej,
  • parametry obiektów są pamiętane i mogą być modyfikowane. To oznacza, że transformacje graficzne, takie jak translacja, skalowanie, rotacja, wypełnianie, itp. nie degradują jakości rysunku. Ponadto wymiary zwykle podaje się w jednostkach niezależnych od urządzenia, co przekłada się później na optymalną rasteryzację w module rasteryzującym, gdy zmuszeni jesteśmy przez urządzenie wyświetlające do przejścia na postać rastrową,
  • z perspektywy grafiki 3D, renderowanie cienia w grafice wektorowej jest znacznie bardziej realistyczne, ponieważ cienie mogą być abstrahowane do promieni światła, z których wynikają. To umożliwia renderowanie z realizmem bliskim klasycznej fotografii.

 

2. Ze względu na charakter danych:


  •  grafika dwuwymiarowa (2D) - Jest pojęciem stosowanym zarówno w odniesieniu do działu informatyki, jak i techniki obróbki obrazów cyfrowych, które mogą się składać z tekstu, grafiki i obiektów 2D. Grafika dwuwymiarowa, jest powszechnie stosowana, w dziedzinach, w których pierwotnie stosowano tradycyjne techniki drukowania i rysowania. Można tu wymienić między innymi: typografię, kartografię, film animowany, kreślarstwo, reklama. W tych typach zastosowania grafiki komputerowej, technologia dwuwymiarowa, pozwala uzyskać realne odzwierciedlenie świata rzeczywistego, ale także jest niezależnym elementem, któremu nadano znaczenie. Oprócz tego, dwuwymiarowy obraz jest w tych przypadkach bardziej preferowany, gdyż daje większą kontrolę nad obrazem, niż grafika 3D Grafika trójwymiarowa. Możemy wyróżnić następujące techniki wykorzystywane w grafice dwuwymiarowej: rysowanie bezpośrednio na ekranie, rysowanie w pamięci – obraz jest niewidoczny, a następnie wyświetlany na ekranie, rysownie w pamięci – i zapisywanie obrazu w postaci pliku o rozszerzeniu PPM, rysownie i zapisywanie, bezpośrednio do pliku. Obraz jest niewidoczny, do momentu otworzenia go w przeglądarce grafiki. Grafika 2D, zaczęła się rozwijać w latach 50 poprzedniego stulecia, poprzez stosowanie urządzeń, do grafiki wektorowej. Obecnie są one wyparte przez urządzenie grafiki rastrowej. 
  •  grafika trójwymiarowa(3D) - Jest jednym z rodzajów grafiki komputerowej. Jej głównym zadaniem jest wizualizacja obiektów trójwymiarowych. Geometria tych obiektów trójwymiarowych może być wizualizowana na klika sposobów: siatka wielokątów – gdzie obiekt, jest zbudowany z płaskich wielokątów, które mają wspólne wierzchołki i krawędzie, najczęściej stosowanymi tu wielokątami są kwadraty i trójkąty. W ten sposób, grafik może budować proste bryły. Voxele – gdzie obiekt budowany jest z elementarnych sześcianów. Ta metoda wizualizacji, jest powszechnie stosowana w diagnostyce medycznej. Można w ten sposób uzyskać szereg, przekrojów i na ich podstawie stworzyć model trójwymiarowy. Opis matematyczny – gdzie obiekty są określone równaniami matematycznymi. Mogą to być na przykład: kule, płaszczyzny dane trójwymiarowe, mogą być pobierane z rzeczywistości na podstawie tomografów komputerowych, skanerów trójwymiarowych, lub w przypadku topografii, za pomocą zdjęć satelitarnych. Technikę trójwymiarową, stosuje się także w animacji komputerowej. Wykorzystuje się tu technikę, nazwaną motion capture. Polega ona na nagrywaniu ruchów człowieka za pomocą, umieszczonych w kluczowych miejscach człowieka czujników ruchu. Te newralgiczne punkty znajdują się na: rękach, nogach, głowie, karku itp. Nagrane w ten sposób ruchy są przeniesione na sztuczne postacie, animowane, powoduje, ze ich ruchy zyskują naturalność, nie do uzyskania poprzez tradycyjne metody animacji

3. Ze względu na cykl generacji danych:


  • grafika nieinterakcyjna - program wczytuje uprzednio przygotowane dane i na ich podstawie tworzy wynikowy obraz. Tak działa np. POV-Ray, który wczytuje z pliku definicję sceny trójwymiarowej i na jej podstawie generuje obraz sceny.
  • grafika interakcyjna - program na bieżąco uaktualnia obraz w zależności od działań użytkownika, dzięki temu użytkownik może od razu ocenić skutki. Bardzo ważne w tym przypadku jest, że czas odświeżenia obrazu nie może być zbyt długi. Dlatego w przypadku grafiki interakcyjnej akceptuje się i stosuje uproszczone metody rysowania obiektów, aby zminimalizować czas oczekiwania.
  • grafika czasu rzeczywistego - program musi bardzo szybko (kilkadziesiąt razy na sekundę) regenerować obraz, aby wszelkie zmiany były natychmiast uwidocznione. Grafika czasu rzeczywistego ma szczególnie znaczenie w różnego rodzaju symulatorach, jest również powszechna w grach komputerowych.

Ogólne pojęcie grafiki komputerowej

Grafika komputerowa – dziedzina informatyki zajmująca się wykorzystaniem technik komputerowych do celów wizualizacji artystycznej oraz wizualizacji rzeczywistości. Grafika komputerowa jest obecnie narzędziem powszechnie stosowanym w nauce, technice oraz rozrywce.

Chociaż grafika komputerowa koncentruje się głównie na specjalistycznych algorytmach i strukturach danych, to jednak siłą rzeczy musi czerpać wiedzę z rzeczywistości. Na przykład aby uzyskać obrazy fotorealistyczne, należy wiedzieć jak w rzeczywistym świecie światło oddziałuje z przedmiotami. Podobnie, aby symulacja jazdy samochodem była jak najwierniejsza, należy wiedzieć, jak obiekty fizyczne ze sobą oddziałują.

Od kilkunastu lat grafika komputerowa jest też kolejną dyscypliną artystyczną - dzieła powstałe przy jej zastosowaniu nazywa się grafiką cyfrową, infografiką lub digitalpaintingiem.

Przykładowe zastosowania

  • kartografia,
  • wizualizacja danych pomiarowych (np. w formie wykresów dwu- i trójwymiarowych),
  • wizualizacja symulacji komputerowych,
  • diagnostyka medyczna,
  • kreślenie i projektowanie wspomagane komputerowo (CAD),
  • przygotowanie publikacji (DTP),
  • efekty specjalne w filmach,
  • gry komputerowe.