Mašinski fakultet Mostar, juni 2013. 

 

OSNOVNI KONCEPTI GRAFIČKOG PROGRAMIRANJA 

BASIC CONCEPTS OF GRAPHICS PROGRAMMING 

 

Amir Hadarević 

Mašinski fakultet 

 

Ključne riječi: 

grafičko programiranje, transformacije, koordinatni sistemi, X Window.

 

 

SAŽETAK: 
 

Programiranje koje kreira grafički prikaz na ekranu monitora, predstavlja suštinski dio CAD / CAM / CAE softvera. 
Termin  kompjuterskog  programiranja  se  koristi  kada  se  misli  na  pisanje  kompozicije  koristeći  neke  kompjuterske 
komande u skladu sa unapred određenom gramatikom. Grafika softvera se može predstaviti kao upravljački program 
i  grafička  biblioteka.  Za  prikazivanje  slike  nekog  objekta  potrebna  su  dva  osnovna  zadatka  a  to  su  određivanje 
lokacije svih tačaka objekta u prostoru i utvrđivanje koje lokacije na ekranu zauzimaju određene tačke. Interakcija 
sa  korisnikom  kroz  grafičke  ulaze  je  bitna  sposobnost  postojećih  CAD/CAM/CAE  softvera.  Softver  koji  bi  trebao 
imati mogućnost za otvaranje prozora, za prikazivanje menija ili ikona, i za definisanje zadataka koji će biti korišteni 
za svaki meni i ikonu se zove graphical user interface ( grafički korisnički interfejs ) ili jednostavno GUI. X window 
sistem omogućuje programu da otvori i zatvori windows na raznim radnim stanicama koje su priključene na mrežu. 

 

Keywords: 

graphics programming, transformacion, coordinate systems, X Window. 

 

ABSTRACT: 

 

Programming  that  creates  a  graphics  display  on  a  display  monitor  is  thus  an  essential  part  of  CAD/CAM/CAE 
software. The term computer programming used to mean writing a composition by using some computer commands 
in  compliance  with  a  predetermined  grammar.    Graphic  software  can  be  shown  as  an  managing  programm  and 
graphic library . For showing image of some objects we need two basic tasks , that are defining location of all points 
of an object and defining wich locations on screen have some points . Interaction with user trough graphics input is 
very important abiliti of CAD/CAM/CAE softwares . Software that should have posibility to open window, to show 
menu or icons, and for defining tastks , will be used for each menu and icon its called graphical user interface or 
GUI. X windows system allows programm to open and close windows on different workstations that are connected to 
network.  
 

1. UVOD 

 

Interaktivni  oblik  manipulacije  igra  glavnu  ulogu  kod  CAD  /  CAM  /  CAE  sistema.  Programiranje  koje 
kreira  grafički  prikaz  na  ekranu  monitora,  predstavlja  suštinski  dio  CAD  /  CAM  /  CAE  softvera.  Zato 
treba razmotriti neke od terminologija i neke koncepte koji su osnova za programiranje grafike. 
 

2. OSNOVNI KONCEPTI GRAFIČKOG PROGRAMIRANJA 
 
2.1. Grafičke biblioteke 
 

Termin  kompjuterskog  programiranja  se  koristi  kada  se  misli  na  pisanje  kompozicije  koristeći  neke 
kompjuterske  komande  u  skladu  sa  unapred  određenom  gramatikom.  Kompozicija  generiše  željene 
brojeve i slova na kraju ili u data fajl kada je ulaz izveden u obliku brojeva ili slova.  

Amir Hajdarević – Osnovni koncepti grafičkog programiranja 

 

                                                             Mašinski fakultet Mostar, juni 2013. 

 2 

 

Danas,  međutim  nije  neobično  za  sistem,  da  pored  ulaza  sa  brojevima  i  znakovima  prihvati  i  grafičke 
informacije kao ulaz, i da nam da grafički prikaz izlaza. Aktivnost koja uključuje grafiku kao ulaz i izlaz 
se  zove  grafičko  programiranje,  i  oblast  vezana  za  to  se  zove  kompjuterska  grafika.  Pored  osnovnog 
softver-operativnog sistema i editora koji su nam potrebni za konvencionalno programiranje,  mora imati 
neki osnovni grafički softver koji je potreban za grafičko programiranje. Grafika softvera se može podeliti 
u dvije grupe: 

-

 

upravljački program i  

-

 

grafičke biblioteke. 

Upravljački program se može smatrati kao skup mašina, odnosno zavisnih kodova koji direktno kontrolišu 
sistem  za  obradu  grafičkog  uređaja.  Tako  na  primjeru  drajvera,  prikaz  procesorskih  jedinica  od  jednog 
grafičkog uređaja radi sa određenim uređajem drajvera.  
To je analogno načinu na koji jedna vrsta mašinskog programskog jezika može razumjeti naredbe samo od 
određene vrste računara i programa napisanog u tom programskom jeziku i može biti izvršena samo na 
tom  tipu  računara.  Ista  stvar  se  dešava  kada  je  grafički  program  direktno  napisan  sa  drajvera  nekog 
uređaja,  kao  što  je  prikazano  na  slici  1.  To  je  dakle  grafički  program  koji  mora  biti  prepisan  u 
odgovarajućim upravljačkim programima uređaja kada hoćemo da koristimo drugi grafički uređaj. Osim 
toga, svaka upravljačka komanda ima samo primitivnu sposobnost, te će zbog toga grafički program koji 
je  napisan  sa  takvim  komandama  biti  veoma  dug.  Kao  rezultat  toga  je  program  sa  lošom  čitkosti. 
Programeri sve više teže da pišu programe na jezicima višeg nivoa. Grafičko programiranje mora da bude 
u  korak  sa  vremenom.  Tako  se  opremanje  grafičkog  uređaja  sa  bibliotekom  zove  grafička  biblioteka. 
Grafička  biblioteka  predstavlja  skup  potprograma,  od  kojih  svaki  ima  specifičnu  namjenu.  Na  primjer, 
potprogram može da nacrta liniju ili potprogram može da nacrta krug. Grafička biblioteka je izgrađena na 
vrhu uređaja drajvera, kao što je prikazano na slici 2. Svaki potprogram se kreira pomoću  skupa komandi 
određenog uređaja. Na primer, potprogram za crtanje kruga može da se sastoji od niza uređaja za crtanje 
linija. Podprogrami jedne grafičke biblioteke mogu da se koriste na potpuno isti način kao i matematička 
biblioteka, za koju je neophodno da se potprogram poziva iz glavnog programa, kao što se funkcije sinusa 
i  kosinusa  iz  matematičke  biblioteke  pozivaju  kada  su  potrebne  vrijednosti  ovih  funkcija.  Jedan  od 
problema  sa  potprogramima  u  grafičkoj  biblioteci  je  da  se  njihova  imena  i  način  na  koji  se  zovu  (npr, 
ulazni i izlazni argumenti) razlikuju za svaku drugu grafičku biblioteku. To nije problem ako se grafika 
biblioteka  može  da  prikaže  za  sve  postojeće  grafičke  uređaje,  ova  tvrdnja  je  teoretski  moguća  ako  svi 
postojeći upravljački programi podržavaju grafičku biblioteku. Međutim, iz praktičnih razloga proizvođači 
softvera ne mogu ili ne žele da razviju grafičku biblioteku koja se može povezati sa svim upravljačkim 
programima i na taj način sve grafičke biblioteke su ograničene određenim brojem različitih uređaja. 

 

Slika 2.1. Vrsta grafičkog programiranja koja koristi direktno upravljački programski uređaj 

 

Slika 2.2. Vrsta grafičkog programiranja koja koristi grafičku biblioteku 

background image

Amir Hajdarević – Osnovni koncepti grafičkog programiranja 

 

                                                             Mašinski fakultet Mostar, juni 2013. 

 4 

 

 

Slika 2.3. Uređaj za koordinatni sistem 

Razmotrimo  sada  koordinatne  sisteme  koji  definišu  mjesto  održavanja  tačke  u  trodimenzionalnom 
prostoru.U  osnovi  postoje  tri  takva  koordinatna  sistema:  svjetski  koordinatni  sistem,  koordinatni  sistem 
modela i koordinatni system za pregled. Svjetski koordinatni sistem je referentni koordinatni sistem koji 
se  koristi  da  opiše  ono što  u  stvarnom  svijetu izgleda,  kao  što  mu  ime  govori  (npr.  koje  vrste  objekata 
postoje u svijetu i kako se oni nalaze). Na primjer, ovaj sistem može da se koristi za opisivanje lokacije i 
orijentacije klupe, stolice i table, ako je svijet u kome imamo interes učionica. Sada moramo da opišemo 
oblik svakog objekta u tom svijetu. Oblik nekog objekta definisana je koordinatama svih tačaka ili nekih 
karakterističnih  tačaka  na  objektu  u  odnosu  na  koordinatni  sistem  vezan  za  objekat.  Ovaj  koordinatni 
sistem  se  naziva  koordinatni  sistem  modela.  Koordinate  tačaka  na  objektu  definisane  u  odnosu  na  svoj 
model u koordinatnom sistemu ne mjenjaju svoje vrijednosti čak i kada objekat bude preveden ili rotiran u 
prostoru,  ali  se  određuje  isključivo  oblik  objekta.  To jest  koordinatni  sistem  modela  se  kreće  sa  svojim 
predmetom. Zato, oblik svakog objekta je definisan u odnosu na sopstveni model u koordinatnom sistemu.  
Relativna  lokacija  i  orijentacija  dva  koordinatna  sistema  definisani  su  matricama  transformacije,  što 
objašnjavamo u poglavlju 2.7. Koordinate svih tačaka objekata mogu se dobiti u svjetskim koordinatama 
nakon  primjene  povezane  transformacione  matrice.  Sljedeći  zadatak  je  da  se  projekat  tog 
trodimenzionalnog  objekta,  ili  tačke  na  objektima,  na  monitoru  projektuju  na  mrežnjaču  ljudskog  oka. 
Obično  se  koriste  dvije  vrste  projekcije  za  kompjuterske  grafike,  projekcija  perspektive  i  paralelna 
projekcija, što je prikazano na slici 4.  

 

Slika 2.4. Dva tipa projekcije a) projekcija perspektive i b)  paralelna projekcija 

Amir Hajdarević – Osnovni koncepti grafičkog programiranja 

 

                                                             Mašinski fakultet Mostar, juni 2013. 

 5 

 

Za  obe  vrste  projekcije,  moraju  biti  definisana  gledišta.  Gledištem  se  smatra  oko  posmatrača.  Pogledna 
strana  je  tačka  na  objektu,  definiše  pravac  gledanja  tako  da  vektor  usmjeren  od  stanovišta  do  pogledne 
strane  postaje  pravac  gledanja.  U  projekciji  perspektive  su  sve  tačke  na  predmetu  povezane  sa  centrom 
projekcije.  Ekran  se  nalazi  između  gledišta  i  pogledne  strane,  i  linije  koje  daju  sve  tačke  na  ubjektu  u 
pravcu  gledanja  čine  sliku  koja  se  projektuje  na  ekranu.  Slično  kao  kod  projekcija  perspektive,  i  kod 
paralelne projekcije ekran je orijentisana normala na pravac projekcije za ortogonalne projekcije. Kada je 
koordinatni  sistem  definisan  i  sve  koordinate  tačke  na  objektu  ,  slijedeći  zadatak  jeste  da  izračunamo 
lokaciju  njenih  projekcija  na  ekranu.  Na  primer,  projekcija  tačke  u  paralelnoj  projekciji,  može  se  uz 
jednostavno  prikupljanje  X  i  Y  vrednostima  odgovarajućih  tačaka  na  objektu.  Tako  Xv,  Yv  i  Zv 
koordinatni  sistem  naziva  se  koordinatni  sistem  gledanja  jer  olakšava  gledanja  projekcija.  Pregled 
koordinatnog sistema je konstruisan tako da ima sledeće karakteristike.  
Kao što je prikazano na slici 4, pogled na koordinatni sistem se nalazi na poglednoj strani, Z osa ukazuje 
na  aspekt  originala,  a  Yv  osa  je  paralelna  sa  vertikalnim  smjeromm  na  ekranu.  Preostala  osa,  Xv  je 
uslovljena  unakrsnim  proizvodom  osi  Yv  i  Zv.  Većina  ljudi  prirodno  vide  vertikalni  pravac  u  prostoru 
tako da on bude vertikalno na ekranu, pa Yv osa se smatra da je projekcija vertikalnog vektora u prostoru 
na ekran. U većini grafičkih biblioteka, korisnici trebaju da daju ovaj vertikalni vektor u prostoru, on se 
naziva vektor u svjetskim koordinatama. Gledišta su također navedena u svjetskim koordinatama, kako je 
prikazano  na  slici  5.  Nakon  pogleda  na  koordinatni  sistem  on  je  definisan,  i  sve  koordinate  tačke  na 
predmetu interesovanja izvedene su u odnosu na taj koordinatni sistem, sljedeći zadatak je da se izračuna 
položaj svojih projekcija na ekranu. Mi već znamo da se projekcije tačke mogu lako izvesti za paralelne 
projekcije.  Zato  nam  je  potrebno  samo  da  opišemo  postupak  za  izračunavanje  projekcija  tačke  za 
perspektivu  projekcije.  Razmotrimo  gornji  i  bočni  pogled  sa  slike  4  (a),  kao  što  je  prikazano  na  slici  6. 
Tačka koja nas interesuje je označena sa ●, i njegove koordinate u odnosu na koordinatni sistem gledanja 
su označeni Xv, Yv i Zv. 

 

Slika 2.5. Tačka pogleda i mjesto pogleda 

background image

Amir Hajdarević – Osnovni koncepti grafičkog programiranja 

 

                                                             Mašinski fakultet Mostar, juni 2013. 

 7 

 

 

Slika 2.7. a) Prozor i pogled za paralelnu projekciju    b) Prozor i pogled za perspektivnu projekciju 

 

Ovaj pogled nam može dati komplikovanu sliku kada se projecira zato što može sadržavati nepotrebne  
objekte. I ako je ponekad moguće odsjeći taj pogled pomoću bliže i dalje površine, kao što je prikazano na 
slici 8. Dalja i bliža površina za paralelnu projekciju su definisane slićno. Pogled na ulaz je područje na 
ekranu monitora gdje želimo da nam se slika prikaže kao što je to dato na slici 9. To je područje na koje 
pozicioniramo  sliku.  Poziciniranje  sadrži  translaciju  i  skaliranje.  Drugim  riječima  Xs  i  Ys  vrijednosti 
tačaka  projekcije  koje  smo  dobili  iz  formula  1  i  2  moraju  biti  povećane  ili  smanjenje  za  odredjenu 
vrijednost, tako da se centar prozora nalazi u centru pogleda. 
 

 

Slika 2.8. Bliža i dalja površina 

 

Želiš da pročitaš svih 31 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti