Normalizované grafické systémy (NGS) predstavujú jeden zo smerov vývoja počítačovej grafiky. Sú výsledkom medzinárodného úsilia o normalizáciu v počítačovej grafike. Pod pojmom grafického systému možno si predstaviť ako rozhranie medzi aplikačným programom a grafickým zariadením. Pokiaľ aplikačný program pracuje s modelom objektu, tak grafické zariadenie ho zobrazuje na výstupné zariadenie. Za normalizované grafické systémy sa považujú iba tie, ktoré boli prijaté medzinárodnou organizáciou pre štandardizáciu - International Organisation for Standardization, známej pod skratkou ISO.
Prvým NGS bol v roku 1985 Graphical Kernel System (GKS). potom v roku 1987Computer Graphics Metafile (CGM) - norma ukladania grafických dát, Graphical Kernel System for Three Dimensions (GKS 3D, 1987), Programmer`s Hierarchcal Interactive Graphics System (PHIGS,1989), Computer Graphics Interface (CGI, 1992 ) a PHIGS Plus Lumierre und Shading (PHIGS PLUS, PHIGS+, 1992). V roku 1993 vznikla norma o spracovaní obrazu pod názvom Image Processing and Interchange (IPI).
Hlavným cieľom NGS je normovanie grafickej informácie a teda aj medzinárodná garancia prenositeľnosti, pokiaľ aplikačné programy túto normu spĺňajú. Vzhľadom na celosvetový vývoj počítačovej grafiky a výkonu súčastnej výpočtovej techniky, ani medzinárodná štandardizácia v oblasti počítačovej grafiky tomto trende nezaostáva. Od roku 1977 ju koordinuje ISO.
ISO norma Graphical Kernel System (GKS, IS7942) určuje množinu funkcii na programovanie aplikačných programov, využívajúc interaktívnu počítačovú 2D grafiku. GKS je nezávislá od programovacieho jazyka a počítačovej platformy. Poskytuje nám základnú množinu grafických príkazov, ktoré sú implementované ako základné v každom programovacom jazyku.
GKS sa skladá z týchto základných skupín :
grafické výstupné prvky logické vstupné zariadenia a vstupné režimy pracovná stanica prostredie GKS metasúbor zisťovacie funkcie a spracovanie chýb
Sú to základné grafické prvky na kreslenie obrázkov. Každý grafický prvok má väčšinou niekoľko parametrov, ktoré určujú jeho konkrétny tvar.
1. Polyline - kreslí postupnosť spojených čiar. Všeobecná funkcia na kreslenie lomenej čiary je
Postupnosť N -1 lomených úsečiek, kde POINTS je zoznam N bodov. Môže mať nasledujúce atribúty : farba, hrúbka a typ čiary. Závisí to od možnosti grafickej stanice. Index na nastavenie lomenej čiary na A je SET POLYLINE INDEX(A)
2. Sled značiek - označenie
množiny bodov značkou. Nakreslenie množiny bodov realizuje funkcia
POLYMAKER(N,POINTS),
ktorá v každom bode z POINTS umiestni značku. Atribúty sú : farba,
typ a veľkosť
značky. Funkcia SET POLYMARKER INDEX(A) nastaví index sledu značiek na
A.
3. Výplňová oblasť - vyplní plochu ohraničenú
danými bodmi hranice. Vyplnenie oblasti určenej bodmi hranice. V prípade, že
posledný bod nie je totožný s prvým, GKS ich spojí, aby hranica bola
uzavretá.
FILL AREA(N,POINTS)
Výplňová oblasť, nakreslí plochu danú
bodmi hranice POINTS. Index výplňovej oblasti je SET FILL AREA INDEX
(N).
Ním nastavujeme aj typ výplňovej oblasti, a to buď čierno-biele (prázdne,
plné, šrafované) alebo farebné. V prípade, že vnútro je prázdne kreslí sa
iba hranica výplňovej oblasti. môže sa stať, že sa hranice oblasti pretínajú.
Vtedy treba zistiť, ktorý bod je vnútrom oblasti. V GKS sa toto rieši tak,
že bod je vnútri ak ak polpriamka z daného bodu, neprechádza vrcholom
hranice oblasti alebo pretína danú hranicu v párnom počte bodov (prvý
krát vojde do oblasti, a potom z neho vyjde)
4. Grafický prvok text -
TEXT (POSITION, STRING)
Globálne atribúty textu, sú: výška znaku, sklon
znaku, smer textu a zarovnanie textu. Niektoré funkcie sú na určovanie textu
sú: funkcia na zarovnanie textu je SET TEXT ALIGNMENT (HORIZ, VERT),
funkcia SET CHARECTER HEIGHT (H) nastavuje šírku znakov na H.
5. Pole buniek - vyplní obdĺžnik nejakou vzorkou farieb.
CELL ARRAY (A,B,DX,DY,SX,SY,CA),
kde body A a B sú krajné
body obdĺžnika, ktorý vypĺňame. Obdĺžnik je rozdelený na DX buniek v
smere X a DY buniek v smere Y. Ku každej bunke (I,J) je priradená farba, ktorá
je priradená z poľa indexov farieb CA(I,J), kde I nadobúda hodnoty
SX po (SX+DX-1) a J od SY po (SY+DY-1). Bunka
A(AX,AY) bude mať farbu CA(SX,SY) a
bunka B farbu CA(SX+DX-1,SY+DY-1).
6. Zovšeobecnený grafický výstupný prvok (GDP) -
špecifikuje nové grafické prvky. Norma pamätala aj na objekty, ktoré nie sú štandartne
povolené a implementovala zovšeobecnený grafický prvok, pomocou ktorého si
môžeme zadefinovať nové grafické prvky, napríklad hardwarovo podporované
určeným zariadením. Príkladom môžu
byť objekty ako napríklad elipsy alebo splajny.
GENERALIZED DRAWING PRIMITIVE (N, POINTS, ID, LDR, DR),
kde
ID špecifikuje typ GDP. POINTS sú súradnice N bodov, ktoré sa používajú
na definovanie GDP. DR je pole dĺžky LDR, ktoré obsahuje ďalšie
vlastnosti daného GDP.
Podľa [1] medzinárodná norma CGM (Computer Graphics Metafile) [IS8632] definuje funkčnosť a kódovanie metasúboru na ukladanie a prenos grafických 2D informácií. Slúži na ukladanie grafických dát.
Význam CGM spočíva v skutočnosti, že formát CGM súboru je vhodný na ukladanie a znovuzískanie grafických informácií. Formát pozostáva z usporiadanej množiny prvkov, ktorými možno popísať obrázky spôsobom vhodným pre grafické systémy s rôznymi architektúrami a zariadeniami s rôznymi schopnosťami a využitím. Norma umožňuje sekvenčný a nesekvenčný prístup k dátam.
Norma sa skladá z nasledujúcich častí :
Funkčná špecifikácia Kódovanie znakmi Binárne kódovanie
Cieľom CGM je poskytnúť mechanizmus na popis, ukladanie a komunikáciu grafických informácií od zariadenia nezávislým spôsobom [1]. Preto definuje syntax a sémantiku súboru prvkov CGM, ktorých je nasledujúcich 9 tried :
oddeľovače - oddeľujú význačné štruktúry v CGM popisovače metasúboru - popisujú funkčný obsah CGM popisovače obrázku - popisujú atribúty vzhľadu obrázkov riadiace prvky - modifikujú hranice a súradnicové systémy grafické výstupné prvky - popisujú obrázok atribútové prvky - popisujú vzhľad grafických prvkov rozširujúci prvok - popisuje nenormalizované prvky externé prvky - popis mimografických prvkov segmentové prvky - popisujú segmenty a ich atribúty
Príklad štruktúry CGM
BEGIN METAFILE meno metasúboru
(popisovače metasúboru)
BEGIN PICTURE meno obrázka
(popisovače obrázka)
BEGIN PICTURE BODY
(riadiace prvky)
(grafické výstupné prvky)
(atribútové prvky)
(externé prvky)
END PICTURE
...
END METAFILE
![]()
Verzia CGM z roku 1987 obsahovala tri druhy kódovania. Kódovanie znakmi sa používalo na minimalizáciu veľkosti metasúboru, binárne kódovanie na minimalizáciu času interpretácie a kódovanie textom na podporu čitateľnosti metasúboru.
PHIGS Plus Lummierre und Shading (PHIGS PLUS, PHIGS+, 1992 )
normuje rozhranie medzi aplikačným programom a
grafickým systémom a pokúša sa kombinovať modelujúci a zobrazovací systém
[1].
Cieľom PHIGS-u je poskytnúť na zariadení a aplikácii nezávislý spôsob
tvorby a práce s viacúrovňovými modelmi v 2D a 3D priestore. Príkladom,
ktorý síce nie je normou ale má podobnú funkciu ako PHIGS je OpengGl.