2. gyakorlat
PHIGS - Programmer's Hierarchical Interactive Graphics System
-
3D grafikai programkönyvtár
-
Programozási felület a felhasználói program és
a számítógépes grafikai programrendszer között
-
Szabványok:
-
ANSI,
-
ISO,
-
X-window szabvány kiterjesztése,
-
része az Intel i860 P.A.X.szabványnak.
PHIGS alapelv:
-
megjelenítés 4 lépésben
-
Modell definiálása CSS-ben (Central structure Storage)
PHIGS primitívek, attributumok hozzáadásával
-
Munkaállomás (workstation) megnyitása
-
Modell struktúráinak átküldése a munkaállomásra
-
Struktúrák kirajzolása
Koordináta-rendszer:
3D egységkocka
PHIGS primitívek
-
vonal primitívek
-
szakaszok
-
szakaszok halmaza adatokkal
-
B-spline
-
területi primitívek
-
kitöltött terület
-
kitöltött területek halmaza
-
kitöltött területek halmaza adatokkal
-
kitöltött területek halmaza adatokkal halmaza
-
háromszögsáv adatokkal
-
négyszögsáv adatokkal
-
B-spline felszin
-
szöveg primitívek
-
egyéb primitívek
-
jelölések
-
cellatömb, cellatömb PLUSZ
-
általánosított primitív
PHIGS attributumok
-
a primitívek megjelenítését szabják
meg:
-
vonaltípus
-
vonal-szín
-
vonalvastagság
-
kitöltési szín
-
.....
Mind az attributumok, mind a primitívek PHIGS függvények
segítségével adhatók a struktúrához.
PHIGS használata
Csak az alfa, beta, gamma, delta szervereken találjuk meg a PHIGS-et.
Futtatni csak az Oktatói Kabinet 225. termében az elsõ
12 terminálnál lehet.
A /usr/X/include/X11/phigs directory-ban találhatjuk
az include-file-okat, mint pl phigs.h, phigsextrn.h.
C nyelvet használunk (nem C++ -t)
A phigs.h file-t a programban includolni kell.
Konvenciók:
-
P-vel kezdõdnek a PHIGS adattípusok ill. makrodefiníciók.
-
p-vel kezdõdnek a PHIGS függvények.
Program fordítása, szerkesztése
-
Makefile-t használunk. A forrásprogram azonos könyvtárban
kell legyen a Makefile-lal, a Makefile-nak tartalmaznia kell
a program nevét. Ha pl. az xxx.c programra vonatkozik a Makefile
akkor az alábbi parancs sikeres végrehajtása után
létrejön az xxx programfile, melyet ugyanebben a directory-ban
találunk meg:
make
-
A Makefile összeállítható oly módon is,
hogy paraméterként a szerkesztendõ file nevét
megadjuk. Ehhez elõre definiálnunk kell a Makefile-ban
a lehetséges programnevek listáját. A Makefile struktúrájának
összeállitása nem a gyakorlat anyaga.
-
A gyakorlathoz használjuk az rmake script-et, mely a file
nevével paraméterezhetõ:
rmake xxx
Program futtatása:
-
Szokásos módon, háttérben futtatás megengedett
A gyakorlat feladataihoz a file-ok a /home/marcsi/phigs directory-ban
találhatók:
Feladatok:
1. Fordítsuk le a pexample programot, futtassuk
le! Ez a program üres struktúrát jelenít meg.
A forrásprogramban figyeljük meg a phigs-et nyitó ill.
záró ill. a megjelenítés 4 lépését
végrehajtó PHIGS függvényeket és
paraméterezésüket:
popen_phigs
popen_struct
pclose_struct
popen_ws
ppost_struct
pupd_ws
pclose_ws
pclose_phigs
2. Fordítsuk, futtassuk a pelda1 programot! Nézzük
meg, az elõforduló adattipusokat és a szaggatott töröttvonalat
leiró modell megadásához használt függvényeket!
Pint
Pfloat
Ppoint3
Ppoint_list3
pset_linetype
ppolyline3
3. A pexample1 programban kisérjük figyelemmel
a kitöltött terület és a text magadásának
módját!
pset_int_style
pfill_area3
pset_chat_ht
ptext
5. Irj PHIGS programot, mely szabályos ötszöget
rajzol adott középpont köré adott sugárral!
4. Irj PHIGS programot, mely a polyline program
outputját produkálja (l. lent)!
Instrukció:
-induljunk ki a szabályos ötszög
csúcspontjai megadásához használható
algoritmusból
-100 pontból álló polyline
-2D pontlista megadása:
Ppoint,
Ppoint_list
tipusokkal
-Alkalmazható függvény: ppolyline