Sunteți pe pagina 1din 4

Ministerul Educatiei i tiintei al Republicii Moldova

UNIVERSITATEA TEHNIC IN M!"!VA


Catedra Electronic#

Referat

La Grafica pe calculator
Lucrarea de laborator Nr 1
Tema: Sinteza Figurilor Grafice

A efectuat: studentul
grupa:
A verificat: profesoara: Plotnic Constantin



Chiinu 2!
Scopul lucrrii: !b$inerea cunotin$elor practice %n sinte&a 'i(urilor i
supra'etelor %n ba&a bibliotecii (ra'ice a oric#rui li)ba* de pro(ra)are +,ascal- C..- ori
/ava01
Consideraii teoretice:
!rice lucru %n re(i) (ra'ic se %ncepe cu ini$iali&area )odului (ra'ic care se 'ace cu
a*utorul 'unctiei InitGraph(GraphDriver,GraphMode) 2 'unc$ia stabilete valorile
i)plicite ale para)etrilor de operare %n )od (ra'ic i incarc# de pe disc %n )e)orie
)odulul driver corespun&#tor pri)ului para)etru1 Modul de lucru al driver3ului %ncarcat
este speci'icat prin al doilea para)etru- iar denu)irea co)plet# a c#ii unde se va cauta
'iierul 145I corespun&#tor este pre&entat# prin al treilea para)etru1 6nc7iderea )odului
se 'ace cu 8 Closegraph 'unc$ia e'ectuia&# revenirea %n )od te9t - )odului i)plicit de
lucru a siste)ului de a'iare1 Ea apelea&# 'unc$ia (rap7'ree)en pentru a elibera )e)oria
ocupat# de driver3ul(ra'ic- setul sau seturile de caractere utili&ate de pro(ra) precu) i
&onele de )e)orie interne1
Funciile de desenare a liniilor i suprafeelor snt
!ine("#,$#,"%,$%) 2 'unctia a'isea&a o linie intre punctele de coordonate +9:-;:0 si
+9<-;<0- speci'icate ca para)etri1
&ectangle("#,$#,"%,$%) 2 'unc$ia a'iea&# un dreptun(7i speci'icat prin dou# v%r'uri
dia)etral opuse8 st%n(a sus si dreapta *os1
6n biblioteca (ra'ic# e9ist# 'unc$ii pentru desenarea ur)#toarelor curbe conice8 cerc- arc
de cerc- elips# i arc de elips#
Circle(",$,r) 2 'unc$ia a'iea&# un cerc av%nd centrul de coordonate +9-;0 i ra&a
r-speci'icate ca para)etri1 Ra&a se e9pri)# printr3un nu)#r %ntre(1
'rc(",$,ui,uf,r) 'unc$ia a'iea&# un arc de cerc- %ntre un(7iul ini$ial i un(7iul 'inal s%nt
speci'icate ca para)etri1 Ra&a cercului i coordonatele centrului 9 i ; s%nt de ase)enea
para)etri ai 'unc$iei1 Un(7iurile ini$ial i 'inal se e9pri)# %n (rade- cuprinse %ntre = i >?=
(rade1
(llipse(",$,ui,uf,a,)) 'unc$ia a'iea&# elipsa sau un arc de elips#1 Coordonatele
centrului 9 i ;- se)ia9ele a i b precu) i un(7iurile ini$ial ui i respectiv u' s%nt
speci'icate ca para)etri ai 'unc$iei1
Dra*pol$(n,+) 'unc$ia dat# desenea&# un poli(on cu nu)#rul de v%r'uri n i
coordonatele )1
,uprafaa poligonal-
Fillpol$ 'unc$ia a'iea&# o supra'at# poli(inal# utili&ind valorile curente ale atributelor
de a'iare ale liniilor pentru contur- i valorile curente ale atributelor de a'iare ale
supra'e$elor pentru restul punctelor supra'e$ei1 ,oli(onul se speci'ic# prin nu)#rul de
v%r'uri i vectorul coordonatelor +9-;0 ale v%r'urilor1 6n ca&ul %n care coordonatele ulti)ului
v%r' di'er# de coordonatele pri)ului v%r' poli(onul este %nc7is auto)at1
setfillst$le(n,+) 'unc$ia dat# de'inete culoarea i stilul %n care va 'i colorat# 'i(ura
,uprafaa circular- i eliptic-, sector de cerc i de elips-
sector(",$,ui,uf,a,)) 3 'unc$ia desenea&# un sector de cerc sau de elips# +depinte ce
lun(i)e le d#) ra;elor01 9-; 2 coordonatele centrului- un(7iurile ini$ial i respectiv
'inal@ a-b 3 ra&ele1
Textul programului:
Ainclude B(rap7ics17C
Ainclude Bstdio17C
Ainclude Bconio17C
Ainclude B'strea)17C
void salvare+0D
int i-*@
o'strea) '@
'1open+E:1t9tE-ios88out0@
'or+iF=@iB?G=@i..0
'or+*F=@*BGH=@*..0
'BB
(etpi9el+i-*0BBE E@
'1close+0@
I
void citire+0D
int i-*@
unsi(ned int p@
i'strea) r@
r1open+E:1t9tE-ios88in0@
'or+iF=@iB?G=@i..0
'or+*F=@*BGH=@*..0D
rCCp@
putpi9el+i-*-p0@
I
r1close+0@
I
void desen+int st;le- int color0
Dset'illst;le+st;le-color0@
'lood'ill+J?=-H=-:J0@
I
void )ain+0
D
clrscr+0@
int (rap7driverFETECT-(rap7)ode-cul@
c7ar c@
int
polKH=LFD<=-<G=->=-<==-G=-<G=-J=-<==-?=-<G=-M=-<==-H=-<G=-N=-<==-:==-<G=-::=-<==-:<=-<G=-:>=-<==-:
G=-<G=-:J=-<==-:?=-<G=-:M=-<==-:H=-<G=-:N=-<==-<==-<G=-<==->==-G=->==-<=-<HJ-<=-<G=I@
init(rap7 +O(rap7driver-O(rap7)ode-EPb(iE0@
line+=-:?=-?G=-:?=0@
line+=-><=-?G=-><=0@
line+<:>-=-<:>-GH=0@
line+G<?-=-G<?-GH=0@
line+=-=-?G=-=0@
line+=-=-=-GMN0@
line+=-GMN-?>N-GMN0@
line+?>N-=-?>N-GMN0@
QQ33333 Cerc3333333
setcolor+:J0@
circle+:=?-H=-?=0@
QQ33333Sector de cerc3333333
setcolor+:J0@
set'illst;le+:-<0@
pieslice+>:N- H=- >J- <<=- ?=0@
QQ3333333333333Triun(7i333333
set'illst;le+:-<0@
line+GM?-:<=-JN?-:<=0@
line+J>?-<J-JN?-:<=0@
line+J>?-<J-GM?-:<=0@
'lood'ill+J>?-GJ-:J0@
QQ33333 ,oli(on:G333333
setcolor+:J0@
draRpol;+>=-pol0@
QQ33333 reptun(7i3333333
setcolor+:J0@
rectan(le+<J=-<==->N=-<H=0@
'lood'ill+>==-<<J-:J0@
QQ33333"inia3333333
setcolor+<0@
line +GJ=->:=-?<=-:M=0@
QQ33333 Elipsa3333333
setcolor+:J0@
ellipse+:=J-G==-=->?=-N=-G=0@
QQ33333 ,aralelipiped3333333
setcolor+:J0@
set'illst;le+:-<0@
bar>d +<G=->M=->M=-GJ=->=-:0@
QQ33333 Sector de elipsa3333333
setcolor+:J0@
set'illst;le+:-<0@
sector+J>G-G<J-GJ-:>J-:==-J=0@
(etc7+0@
salvare+0@
cleardevice+0@
citire+0@
(etc7+0@
close(rap7+0@
I
Concluzii: Efectund lucrarea dat am facut cunotin cu bazele graficii n
limbajul C++, am fcut cunotin cu funciile de desenare a figurilor rimiti!e i cu
modurile de colorare a lor i afiare unor sectiuni a acestor figuri"