2. vje~zbe iz C-a

✓XHTML1

Biblioteka plplot

Biblioteka plplot slu~zi za crtanje u C programskom jeziku. Osnovno ~sto treba zapamtiti je da je instalirana na ra~cunalima u Praktikumu 1 (ne na studentu!), da se uklju~cuje u kod preprocesorskom direktivom #include <plplot/plplot.h> , te da se takav kod treba prevesti navode~ti u naredbenom retku opcije -I/usr/local/include/plplot -lplplotd. Primjer naredbe za prevo~denje tipi~cnog programa koji koristi biblioteku plplot je: gcc nekiprogram.c -I/usr/local/include/plplot -lplplotd -lm -o nekiprogram

Nakon toga, ako je prevo~denje uspje~sno pro~slo, prevedeni program pokre~temo utipkavanjem ./nekiprogram (ili samo nekiprogram ako imamo ispravno pode~senu PATH varijablu).


~Sto se ti~ce s~amog kori~stenja biblioteke plplot, glavna stvar koju treba zapamtiti je da se pomo~tu man plplot mo~ze dobiti popis i kratak opis svih funkcij~a koje ta biblioteka podr~zava, dok se pomo~tu man imefunkcije mo~ze dobiti detaljna dokumentacija o funkciji imefunkcije. ~Cesto kori~stene funkcije, koje ~te nama trebati, su:

plsdev(izlazna_jedinica);
Funkcija koju treba pozvati prvu, da bi se plplotu reklo kamo da usmjeri sliku koju ~te proizvesti. Mogu~te ju je, osim na ekran, zapisati u posebnu slikovnu datoteku (JPEG, PNG, ...), na printer ili drugdje. Mi ~temo koristiti plsdev("xwin"), ~sto ~te pod X Windows sustavom iscrtati sliku na ekranu (u posebnom prozoru).
plinit();
Inicijalizacija odabrane izlazne jedinice. Treba je pozvati nakon plsdev, kako bi znala koju jedinicu inicijalizirati.
plenv(xmin, xmax, ymin, ymax, just, axis);
Postavljanje parametara koordinatnog sustava u kojem radimo. Na~s prozor ~te biti "prozor" u koordinatni sustav, i predstavljat ~te Kartezijev produkt [xmin,xmax]x[ymin,ymax]. axis i just slu~ze za precizniji odabir koordinatnog sustava, te za iscrtavanje koordinatnih os~i: koga zanima detaljnije, man plenv. Mi ~temo obi~cno koristiti just=0 i axis=-2 (slika bez koordinatnih os~i i ikakvih dodataka).
Na primjer, ako ~zelimo da se u prozoru vidi dio koordinatnog sustava u kojem su obje koordinate izme~du 0 i 1, pozvat ~temo plenv(0,1,0,1,0,-2);
plend();
Zatvara izlaznu jedinicu. Najbolje ju je pozvati neposredno prije vra~tanja iz main funkcije.
pljoin(x1, y1, x2, y2);
Povla~ci liniju izme~du to~caka (x1,y1) i (x2,y2).
plline(k, x, y);
Povla~ci poligonalnu liniju spajaju~ti k to~caka. Njihove koordinate dane u redom u poljima x (apscisa) i y (ordinata). Na primjer, kod double x[5]={0,1,1,0,0};
double y[5]={0,0,1,1,0};
plline(5,x,y);
~te nacrtati rub kvadrata [0,1]2, spojiv~si redom to~cke (0,0), (1,0), (1,1), (0,1) i natrag (0,0) du~zinama. Dakle, prije kori~stenja te funkcije, treba popuniti dva polja koordinatama to~caka koje ~zelimo spojiti.
plcol0(boja);
Postavljanje boje kojom crtamo (povla~cimo linije, na primjer). Argument je jedan od brojeva 0 do 15 -- na primjer, u defaultnoj postavci, 0 je crna, 1 crvena, 9 plava. man plcol0 za detalje.
plptex(x, y, dx, dy, just, text)
Ispisivanje teksta na slici. (x,y) je tzv. referentna to~cka teksta koji ispisujemo. (dx,dy) je vektor smjera u kojem se tekst prostire. just ozna~cava poziciju referentne to~cke u odnosu na string: 0 zna~ci krajnje lijevo, 1 zna~ci krajnje desno. Ako ~zelimo centrirati tekst oko to~cke (x,y), koristimo 0.5.

primjer |