GK 3 Standardy graficzne

background image

Grafika komputerowa

Grafika komputerowa

Standardy graficzne

Wykład

background image

Standardy graficzne



Standardy graficzne ISO



GKS (

Graphical Kernel System

)



GKS-3D



PHIGS (

Programmer’s Hierarhical Interactive Graphics System

)



PHIGS+



CGM (

Computer Graphics Metafile

)



CGI (

Computer Graphics Interface

)



Standardy przemysłowe



XWindow (

MIT

)



IRIS Performer (

Silicon Graphics

)



OpenGL (

Silicon Graphics

)



PostScript (

Adobe

)



Formaty graficzne



PCX, RLE, TIFF, GIF, JPG, PDF, DXF, 3DS, AV, FLT itd.

background image

Standard GKS

Standard określa zbiór funkcji niskiego poziomu dostępnych dla
programów wykorzystujących grafikę 2D. Zapewnia funkcjonalny
interfejs między programem użytkowym a wejściowymi i
wyjściowymi urządzeniami grafiki komputerowej



ok. 200 podprogramów do tworzenia obrazu z dostępnych
prymitywów graficznych i przyjmowania danych z różnych urządzeń



prymitywy graficzne: łamana, markery, wypełniony obszar, tekst,

tabela komórek



atrybuty: rodzaj i szerokość linii, sposób wypełniania obszaru



definicja 6 logicznych urządzeń do wprowadzania informacji:

a) urządzenie do podawania współrzędnych punktu - lokalizator
b) urządzenie do podawania współrzędnych ciągu punktów
c) urządzenie do podawania wielkości skalarnej – waluator
d) urządzenie do wprowadzania tekstu
e) wskaźnik elementu obrazu
f) wskaźnik wyboru menu



standard umożliwia tworzenie obrazu obiektów, nie daje
możliwości tworzenia modeli graficznych



wykorzystywany do tworzenia wykresów i rysunków
technicznych

background image

Standard GKS-3D



system graficzny 2D i 3D



uogólnienie

standardu

GKS

na

grafikę

trójwymiarową



wszystkie prymitywy standardu 2D uogólnione
do trzech wymiarów



dodatkowe funkcje:



przekształcenia w przestrzeni 3D



operacje usuwania niewidocznych linii i powierzchni



standard

umożliwia

tworzenie

obrazu

obiektów, nie daje możliwości tworzenia
modeli graficznych

background image

Standard PHIGS

Standard umożliwia konstruowanie modeli obiektów
2D o złożonej strukturze logicznej oraz tworzenie
obrazów tych modeli



czynności definiowania modelu i wyświetlania są oddzielone



prymitywy graficzne: linie, markery, tekst, wypełniony obszar
oraz związane z nimi atrybuty



możliwość grupowania elementów składowych modelu



możliwość budowania modeli o strukturze hierarchicznej
(poszczególne elementy mogą być definiowane w różnych
układach współrzędnych a następnie przenoszone do
wspólnego układu)



struktury definiujące model przechowywane w pliku



różne sposoby obserwacji modelu (punkt obserwacji, rodzaj
rzutu: perspektywiczny lub ortogonalny)

background image

Standard PHIGS+

Rozszerzenie standardu PHIGS:



o nowe prymitywy i funkcje do modelowania krzywych i
powierzchni:



siatki trójkątne i czworokątne



krzywe i powierzchnie B-sklejane



funkcje do definiowania źródeł oświetlenia:



światło otaczające



światło punktowe kierunkowe



światło punktowe pozycyjne



światło stożkowe



funkcje do realizacji cieniowania:



stała barwa wielokąta



metoda Gourauda



metoda Phonga



zmiana barwy w funkcji odległości (efekt głębi przestrzennej)

background image

Cieniowanie Gourauda

1.

Wyznaczenie barwy w wierzchołkach trójkąta:
- wyznaczenie wektorów normalnych do wszystkich wierzchołków

jako średniej arytmetycznej wektorów normalnych wszystkich ścian,
do których ten wierzchołek należy.

- na podstawie wektora normalnego wyznaczenie barwy wierzchołka

korzystając z wybranego modelu oświetlenia

2.

Liniowa interpolacja barwy dla wszystkich punktów wielokąta zgodnie
z zaprezentowanymi wzorami

.

background image

Cieniowanie Phonga

Cieniowanie metodą Phonga polega na interpolacji wektora normalnego dla
każdego punktu wielokąta, a następnie wyznaczenie na tej podstawie
intensywności barwy.

Etapy:
1.

Wyznaczenie wektorów normalnych do wszystkich wierzchołków wielokąta
jako średniej arytmetycznej wektorów normalnych wszystkich ścian, do
których ten wierzchołek należy.

2.

Liniowa interpolacja wartości wektorów normalnych dla wszystkich punktów
wielokąta (dla wszystkich pikseli):
2.1. Interpolacja wzdłuż krawędzi;
2.2. Interpolacja wzdłuż linii horyzontalnych.

3.

Na podstawie wartości wektorów normalnych wyznaczenie barwy dla
wszystkich punktów wielokąta zgodnie z przyjętym modelem oświetlenia

background image

Cieniowanie - porównanie

a)

model nieoświetlony

b)

cieniowanie stałą barwą wielokąta

c)

cieniowanie metodą Gourauda

d)

cieniowanie metodą Phonga

background image

Standard CGI

Standard definiuje abstrakcyjne urządzenie graficzne
zdolne do przyjmowania, przechowywania i przetwarzania
informacji wejściowych oraz generowania wyjściowych
informacji obrazowych



funkcje standardu są niezależne od urządzenia



funkcje standardu są ulokowane pomiędzy oprogramowaniem (standard

GKS) a urządzeniem lub metaplikiem

Funkcje CGI:



funkcje sterujące: określają tryby pracy innych funkcji



prymitywy graficzne i ich atrybuty: opisują elementy obrazu



funkcje rastrowe: umożliwiają generowanie i przetwarzanie map bitowych



funkcje segmentowe: umożliwiają pamiętanie i manipulowanie grupami

prymitywów i ich atrybutów



funkcje wejściowe: umożliwiają odbieranie danych obrazowych



funkcje zewnętrzne: umożliwiają działanie na danych nie związanych
bezpośrednio z generowaniem obrazu

background image

Standard CGI

background image

Standardy przemysłowe



XWindow (

MIT

)



IRIS Performer (

Silicon Graphics

)



OpenGL (

Silicon Graphics

)



PostScript (

Adobe

)

background image

OpenGL (

Silicon Graphics, 1991)



szeroko stosowany standard rozwijany i dokumentowany przez
konsorcjum OpenGL Architecture Review Board (

Silicon

Graphics, IBM, Intel, HP, Microsoft, Intergraph

)



biblioteka kilkuset procedur i funkcji graficznych opracowana dla
potrzeb najnowszych tendencji w technologii sprzętu grafiki
komputerowej. Wykorzystywany model klient – serwer, w którym
klient (program) wysyła polecenia a serwer (GL) wykonuje
polecenia



OpenGL jest niezależny od systemu operacyjnego (UNIX, Linux,
Win95/98/NT, Mac OS, OS/2) i dostępny na wielu platformach
sprzętowych



OpenGL stanowi podstawę do tworzenia zaawansowanych bibliotek
graficznych (np.

SGI OpenGL Performer, MultiGen-Paradigm Vega

Prime, Open Scene Graph

)

background image

Co umożliwia OpenGL?:



modelowanie obiektów 2D/3D w oparciu o szeroką listę
prymitywów graficznych w pełnym zestawie barw (24 bity)



wykonywanie na

obiektach przekształceń geometrycznych

(translacje, rotacje, skalowanie, rzutowanie)



wykonywanie

obliczeń

związanych

z

oświetleniem,

odwzorowaniem tekstur i usuwaniem niewidocznych linii i
powierzchni



wspomaganie programisty w zakresie realizacji złożonych efektów
graficznych, takich jak: wizualizacja mgły i głębi przestrzennej,
rozmycie obiektów w ruchu, oraz usuwanie efektu aliasingu

background image

Czego nie umożliwia OpenGL?:



zarządzania oknem graficznym i pętlą obsługi zdarzeń



opisywania

złożonych

obiektów

za

pomocą

gotowych

mechanizmów

(np.

brak

wbudowanych

mechanizmów

zapisywania/czytania modeli obiektów z pliku)



generowania w sposób automatyczny efektów wizualnych takich
jak: cienie, odbicia lustrzane obiektów

background image

Możliwości funkcjonalne



opis geometryczny za pomocą odcinków, trójkątów i czworokątów



krzywe

i

powierzchnie

nieregularne

definiowane

przez

niejednorodne parametryczne funkcje B-sklejane (NURBS)



pełen zestaw barw (24 bity)



cieniowanie metodą Gourauda



operacje HLHSR realizowane z wykorzystaniem Z-bufora



modelowanie oświetlenia (do 8 różnych źródeł światła)



operacje na pixelach



funkcje sterujące buforowaniem ekranu



antyaliasing



funkcje sterujące nakładaniem (mapowaniem) tekstury



modelowanie efektów atmosferycznych (mgła, zachmurzenie, pora
dnia i nocy, głębia przestrzenna)



możliwość implementacji sprzętowej funkcji i procedur

background image

Prymitywy graficzne w OpenGL

background image

Przykład modelowania obiektu

Void Kwadrat()
{

glColor3f(0.0,0.0,1.0);
glBegin(GL_QUADS);

glVertex3f(0.0, 0.0, 0.0);
glVertex3f(0.0, 1,0, 0.0);
glVertex3f(1.0, 1.0, 0.0);
glVertex3f(1.0, 0.0, 0.0);

glEnd();

}

Płaszczyzna XY

Obiekt: kwadrat o boku 1 leżący na płaszczyźnie XY

background image

Przykład modelowania obiektu

Void Koło()
{

glColor3f(0.0,1.0,0.0);
glBegin(GL_TRIANGLE_FUN);

glVertex3f(0.0, 0.0, 0.0);

for (i=0; i*dAlfa<=360.0; i++);

{

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

}

glEnd();

}

Obiekt: koło o promieniu r i środku w punkcie (0,0,0) leżące na płaszczyźnie XZ

- dAlfa – wartość kąta wyznaczającego kolejny punkt na okręgu

dAlfa=360/N; gdzie: N-liczba podziałów koła

Płaszczyzna XZ

v

1

v

2

v

3

v

4

v

5

v

6

v

8

v

7

v

0

background image

Przykład modelowania obiektu

Void powierzchnia_boczna_walca()
{

glColor3f(1.0,1.0,0.0);
glBegin(GL_QUAD_STRIP);

for (i=0; i*dAlfa<=360.0; i++);

{

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

0.0,r*sin(DEG2RAD(i*dAlfa)));

glVertex3f(r*cos(DEG2RAD(i*dAlfa)),

h,r*sin(DEG2RAD(i*dAlfa)));

}

glEnd();

}

Obiekt: powierzchnia boczna walca o promieniu r, wysokości h, o środku dolnej

podstawy w punkcie (0,0,0) leżącej na płaszczyźnie XZ

- dAlfa – wartość kąta wyznaczającego kolejny punkt na brzegu podstawy

dAlfa=360/N; gdzie: N-liczba podziałów pionowych walca

Z

X

Y

V

i+1

V

i+3

V

i+2

V

i

r

h

background image

Podstawowe przekształcenia modelujące



przesunięcia

glTranslate*(x,y,z)



skalowanie

glScale*(sx,sy,sz)



obrót wokół zadanej osi

glRotate*(α,x,y,z)

background image

Przekształcenia rzutujące

Rodzaje rzutów w OpenGL:



rzut perspektywiczny

glFrustum*(l,r,b,t,n,f)



rzut ortogonalny (równoległy)

glOrtho*(l,r,b,t,n,f)

Funkcje generują macierz przekształcenia

P

Etapy rzutowania:



przekształcenie współrzędnych obserwatora do współrzędnych

odciętych (macierz

P

),



odcięcie (odrzucenie) prymitywów leżących poza kanoniczną bryłą

widzenia

background image

PostScript (

Adobe, 1991)

Język opisu stron przeznaczony do transmisji i przechowywania
dokumentów drukowanych bądź wyświetlanych. Tekst i obrazy są
traktowane jako obiekty i podlegają takim samym przekształceniom
jak wektory. Plik PostScript zawiera nagłówek definiujący, który jest
wykorzystywany do automatycznego rozplanowania strony.

Proces tworzenia dokumentu drukowanego przebiega dwustopniowo:

A.

generacja opisu niezależnego od urządzenia przez program użytkowy

B.

interpretacja opisu przez program sterujący urządzeniem rastrowym

Podstawowe typy obiektów graficznych:



tekst: różne fonty, wielkości czcionki, orientacja, położenie na stronie



grafika: prymitywy - odcinki, łuki, krzywe Beziera



atrybuty – grubość linii, rodzaj wypełnienia (poziom szarości, barwa

określona w jednym z modeli RGB, HSB, CMYK, XYZ, YIQ, YUV, wzorzec)



obrazy: mapy bitowe dowolnie położone i zorientowane, możliwość
skalowania

background image

Formaty graficzne

PCX (

Zsoft Corporation

)



opracowany dla obrazów generowanych przez program
Paintbrush



128-bajtowy nagłówek definiujący specyfikację obrazu:



sposób kodowania



liczba bitów na pixel



rozmiary obrazu



rodzaj palety barw



liczba warstw



sposób interpretacji palety barw



dane obrazowe 1-bajtowe zakodowane metodą ciągu
powtórzeń

background image

Formaty graficzne – cd.

RLE (

Uniwersytet w Utah

)



przeznaczony do pamiętania wielowarstwowych
obrazów rastrowych (do 255 warstw)



dowolne rozmiary obrazów



8 bitów na składowe R, G, B i A



dane obrazowe w postaci skompresowanej

background image

Formaty graficzne – cd.

TIFF (

Tag Image Format File

- Aldus Corporation)



opracowany do opisu i przesyłania obrazów rastrowych



dowolne rozmiary obrazów



obrazy czarno-białe, monochromatyczne z pełną gradacją szarości,
kolorowe z paletą barw lub pełną barwą



różne modele koloru (RGB, CMYK, YCrCb)



możliwość wykorzystania różnych metod kompresji



obrazy mogą pochodzić z różnych urządzeń (skanery, kamery,
urządzenia akwizycji obrazów) oraz z różnych programów do
malowania i retuszowania



możliwość dodawania specjalnych informacji



możliwość rozbudowy formatu o nowe funkcje

background image

Formaty graficzne – cd.

JPEG – (

Joint Photographic Experts Group

)



standardowa metoda kompresji zdigitalizowanych fotografii



kodowanie kolorów: True Color RGB 2

24

=16,7 mln barw



kompresja stratna, próbkowane są bloki 8x8 pikseli: dokładnie
zapamiętywana jest uśredniona wartość barwy, informacje o
zmianach jasności lub koloru pikseli zapamiętywane są mniej
dokładnie niż obszary jednolite. Im większy stopień kompresji, tym
więcej pikseli w bloku będzie miało zbliżoną barwę. Transformacyjna
metoda kompresji DCT (

Digital Cosinus Transform

) połączona z

kodowaniem różnicowym



najpopularniejszy format kodowania obrazów o pełnej skali szarości
i kolorowych dla potrzeb sieci Internet, programów prezentacyjnych
i multimedialnych, wymagających plików o niewielkich rozmiarach



im większy stopień kompresji tym mniejszy plik i tym większa strata
jakości. Z obrazu mogą zostać usunięte drobne szczegóły, a linie i
ostre krawędzie zostaną rozmyte. Fotografia po skanowaniu
kodowana jest przeciętnie przy użyciu 1 bitu na piksel.



uwaga: należy używać zawsze tego samego stopnia kompresji przy
wielokrotnym ponownym kompresowaniu tego samego obrazu JPEG

background image

Formaty graficzne – cd.

PDF – (

Portable Document Format

)



format plików służący do prezentacji, przenoszenia i drukowania treści

tekstowo-graficznych;



opracowany i promowany przez firmę

Adobe Systems

;



językiem opisu pliku PDF jest okrojona wersja języka programowania

PostScript

;



czytnik formatu (

Acrobat Reader

) jest udostępniany za darmo przez firmę

Adobe na wiele platform sprzętowo-programowych;



istnieje szereg programów płatnych i darmowych mogących wyświetlać,

tworzyć i modyfikować pliki w tym formacie – np.

Ghostscript

;



wiele programów dysponuje funkcją eksportu swoich dokumentów do formatu

PDF - w tym większość pakietów biurowych oraz praktycznie wszystkie

współczesne programy DTP;



istnieje możliwość szyfrowania dokumentów PDF i specyfikowania ograniczeń

czynności, które nie mogą być dokonywane przez użytkownika;



sterowniki PDF - programy działające jak wirtualna drukarka;



PDF995 - darmowy driver do tworzenia dokumentów PDF dostępny na stronie

http://www.pdf995.com

(po zainstalowaniu na liście drukarek pojawi się

wirtualna drukarka o nazwie PDF995).

background image

Formaty graficzne – cd.

GIF (

Graphics Interchange Format

- CompuServe)



opracowany dla potrzeb transmisji obrazów rastrowych
w standardzie VGA z co najwyżej 8 bitami na pixel

DXF (

Drawing Exchange File

- AutoDesk)



opracowany dla potrzeb opisu rysunków tworzonych w
programie AutoCAD

OpenFlight (FLT) (MultiGen Inc.)



format graficznej reprezentacji obiektów 3D



wykorzystywany w generatorach obrazu „real-time”



hierarchiczna struktura opisu modelu obiektów



grupy i klasy

background image





MultGen

MultGen

II Pro (SGI)

II Pro (SGI)





MultiGen Creator

MultiGen Creator

(NT)

(NT)

Charakterystyka:

Charakterystyka:





program do tworzenia i edycji

program do tworzenia i edycji

graficznych baz danych w standardzie

graficznych baz danych w standardzie

OpenFlight

OpenFlight





posiada zintegrowane narzędzia

posiada zintegrowane narzędzia

wspomagające modelowanie

wspomagające modelowanie

ukształtowania i pokrycia terenu

ukształtowania i pokrycia terenu





umożliwia zautomatyzowane

umożliwia zautomatyzowane

modelowanie przyrządów pokładowych

modelowanie przyrządów pokładowych

OpenFlight

– program modelujący

background image

Korzeń

Korzeń

Korzeń

Grupa 1

Grupa 1

Grupa 1

Grupa 2

Grupa 2

Grupa 2

Grupa 3

Grupa 3

Grupa 3

Obiekt 1

Obiekt 1

Obiekt 1

Obiekt 2

Obiekt 2

Obiekt 2

Obiekt 3

Obiekt 3

Obiekt 3

Grupa 4

Grupa 4

Grupa 4

Grupa 5

Grupa 5

Grupa 5

Grupa 6

Grupa 6

Grupa 6

OpenFlight

– hierarchiczna struktura bazy danych

background image

DCS (

DCS (

Dynamics Coordinate

Dynamics Coordinate

System

System

)

)

dynamiczny układ współrzędnych

dynamiczny układ współrzędnych

Czołg

M1-A1

Czołg

Czołg

M1

M1

-

-

A1

A1

Wieża

Wieża

Wieża

Działo

Działo

Działo

Działo

Działo

Działo

Kadłub

wieży

Kadłub

Kadłub

wieży

wieży

-

-

grupa DCS

grupa DCS

Kadłub

Kadłub

Kadłub

OpenFlight

– grupa DCS

background image

LOD (

LOD (

Level of Detail

Level of Detail

)

)

poziom szczegółowości

poziom szczegółowości

L 1

L 1

L 1

L 2

L 2

L 2

L 3

L 3

L 3

d1

d1

d2

d2

d3

d3

d0

d0

SA-6

d0 - d1

SA

SA

-

-

6

6

d0

d0

-

-

d1

d1

SA-6

d1 - d2

SA

SA

-

-

6

6

d1

d1

-

-

d2

d2

SA-6

d2 - d3

SA

SA

-

-

6

6

d2

d2

-

-

d3

d3

-

-

grupa LOD

grupa LOD

SA-6

0 – d0

SA

SA

-

-

6

6

0

0

d0

d0

SA-6

SA

SA

-

-

6

6

OpenFlight

– grupa LOD

background image

Obiekt

Obiekt

Obiekt

sprawny

Obiekt

sprawny

Obiekt

uszkodzony

Obiekt

uszkodzony

Obiekt

zniszczony

Obiekt

zniszczony

- switch

OpenFlight

– grupa Switch

background image

Eksplozja

Eksplozja

Eksplozja

Klatka 1

Klatka

Klatka

1

1

Klatka 2

Klatka

Klatka

2

2

Klatka n

Klatka

Klatka

n

n

-

-

sekwencja

sekwencja

.......

.......

OpenFlight

– grupa Sekwencja


Wyszukiwarka

Podobne podstrony:
GK wykład3 standardy graficzne
Standardy graficzne stosowane w internecie., edukacja i nauka, Informatyka
Parametry i standardy kart graficznych
standard HL7
SILNIKI GRAFICZNE W GRACH KOMPUTEROWYCH
Metodologia SPSS Zastosowanie komputerów Golański Standaryzacja
standaryzacja w geomatyce
Wykł 1 Omówienie standardów
Złote standardy w diagnostyce chorób układowych 3
Karty Graficzne wesołowski
Obiekty Graficzne w PowerPoint
Wyklad 2 zmiennosc standaryzacja 5 III 2014 b
01 standaryzacja IIIrokid 2944 ppt

więcej podobnych podstron