Sunteți pe pagina 1din 4

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnic a Moldovei


Facultatea Calculatoare, Informatic i Microelectronic
Catedra Automatic i Tehnologii Informaionale

Lucrare de laborator Nr. 3


la disciplina

Grafica pe calculator
Tema: Desenarea graficelor funciilor utiliznd
algoritmul fereastr/poart

Elaborat de:

St. gr. AI-121,


ve Sergiu

Lect.sup.,

Controlat de:

Plotnic Constantin

Chiinu 2014

Scopul lucrrii:
Obinerea cunotinelor practice n realizarea transformrilor geometrice 2D i 3D a imaginilor
Sarcina lucrrii:
1. De a elabora un program pentru sintezarea i afiarea graficelor funciilor conform
variantelor (tabela 1)
2. S se foloseasc transformarea fereastr-poart.
Varianta: Y = arccos(x)
Codul surs
#include <iostream>
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
#include<process.h>
#include<math.h>
#include<dos.h>
#include<complex.h>
using namespace std;
float XFm,YFm,XFM,YFM;
int XPm,YPm,XPM,YPM;
float Sx,Sy,Tx,Ty;

//--------------------------Initial functions---------------------------------//
float f1(float x){
return acos(x);
}
//----------------------Window initialization---------------------------------//
void WindowInit(float x1,float y1, float x2, float y2){
XFm=x1;
YFm=y1;
XFM=x2;
YFM=y2;
}
//------------------------Transform window/port-------------------------------//
void TransformWG(){
if(XFM>XFm&&YFM>YFm){
Sx=(XPM-XPm)/(XFM-XFm);
Sy=(YPM-YPm)/(YFM-YFm);
Tx=-Sx*XFm+(XPM-XPm-Sx*(XFM-XFm))/2;
Ty=YPm-Sy*YFm+(YPM-YPm-Sy*(YFM-YFm))/2;
}
else Sx=Sy=Tx=Ty=0;
}
//--------------------------Port initialization-------------------------------//
void Port(int x1,int y1,int x2,int y2)
{ XPm=x1;
YPm=y1;
XPM=x2;

YPM=y2;
TransformWG();
setviewport(x1,y1,x2,y2,1);
}
//--------------------------Transform of coeficients--------------------------//
int Xdisplay(float xf)
{return (int)(xf*Sx+Tx);}
int Ydisplay(float yf)
{return (int)(YPM-(yf*Sy+Ty));}
int XPmin,YPmin, XPmax,YPmax;
//-----------------------Drawing the system of coordinates--------------------//
void DrawSystem(float Xmin,float Xmax,float Ymin, float Ymax){
setlinestyle(DASHED_LINE,1,1);
moveto(Xdisplay(Xmin),Ydisplay(0));
lineto(Xdisplay(Xmax),Ydisplay(0));
moveto(Xdisplay(0),Ydisplay(Ymin));
lineto(Xdisplay(0),Ydisplay(Ymax));
outtextxy(getmaxx()/2-20, 0, "y");
outtextxy(getmaxx()-30, getmaxy()/2-30, "x");
}
//-------------------------Full Drawing---------------------------------------//
void Graphic(float Xmin,float Xmax,float Ymin, float Ymax,float pas,float
(*f)(float),int XPmin,int YPmin,int XPmax,int YPmax){
float x,y;
WindowInit(Xmin,Ymin,Xmax,Ymax);
Port(XPmin,YPmin,XPmax,YPmax);
DrawSystem(Xmin,Xmax,Ymin,Ymax);
setlinestyle(SOLID_LINE,1,1);

for(x=Xmin+pas;x<Xmax;x+=pas)
putpixel(Xdisplay(x),Ydisplay((*f)(x)),WHITE);
}
int main()
{ initwindow(700,500,"Laboratorul nr.3");
setcolor(8);
//----------------------------1st function(Y)---------------------------------//
XPmin=10;
YPmin=10;
XPmax=getmaxx()-10;
YPmax=getmaxy()-10;
Graphic(-5,5,-5,5,0.001,f1,XPmin,YPmin,XPmax,YPmax);
//----------------------------------------------------------------------------//
XPmin=XPmin;
XPmax=XPmax;
Port(XPmin,YPmin,XPmax,YPmax);
setcolor(15);
outtextxy(XPmin/30+10,20,"Graficul functiei Y=arccos(x)");
getch();
return 0;
}

Rezultatul execuiei

Concluzie
n urma efecturii acestei lucrri de laborator am aflat cum pot fi desenate graficele funciilor n
C++. Pentru aceasta exist un algoritm denumit Fereastr/Poart. Cu ajutorul lui poate fi desenat
orice grafic al funciilor.

S-ar putea să vă placă și

  • Raspunderea Juridica
     Raspunderea Juridica
    Document13 pagini
    Raspunderea Juridica
    vy0r3l
    100% (13)
  • Amoo 1
    Amoo 1
    Document8 pagini
    Amoo 1
    Liliana Condrea
    Încă nu există evaluări
  • Amoo 1
    Amoo 1
    Document8 pagini
    Amoo 1
    Gheorghe Felicia
    Încă nu există evaluări
  • Lab 2 AMOO
    Lab 2 AMOO
    Document6 pagini
    Lab 2 AMOO
    Gheorghe Felicia
    Încă nu există evaluări
  • Grafica Laborator Nr.2
    Grafica Laborator Nr.2
    Document8 pagini
    Grafica Laborator Nr.2
    Cebotari Ion
    100% (1)
  • Lab 1 SDA Var 10
    Lab 1 SDA Var 10
    Document6 pagini
    Lab 1 SDA Var 10
    Vladimir Zgardan
    Încă nu există evaluări
  • Laborator 1 Teoria Sistemelor
    Laborator 1 Teoria Sistemelor
    Document11 pagini
    Laborator 1 Teoria Sistemelor
    Sergiu Şveţ
    Încă nu există evaluări
  • Lab1 Cid
    Lab1 Cid
    Document4 pagini
    Lab1 Cid
    Sergiu Şveţ
    Încă nu există evaluări
  • PCAD
    PCAD
    Document4 pagini
    PCAD
    Fiodor Ciumac
    Încă nu există evaluări
  • Raport AMOO #1
    Raport AMOO #1
    Document8 pagini
    Raport AMOO #1
    Di No
    Încă nu există evaluări
  • Grafica Laborator Nr.3
    Grafica Laborator Nr.3
    Document5 pagini
    Grafica Laborator Nr.3
    Cebotari Ion
    100% (2)
  • Lab 1 GC
    Lab 1 GC
    Document4 pagini
    Lab 1 GC
    Ion Popescu
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document9 pagini
    Lab 1
    Fil Gorea
    Încă nu există evaluări
  • Lab1 GC
    Lab1 GC
    Document8 pagini
    Lab1 GC
    Andrei Barbalat
    Încă nu există evaluări
  • Lab7 POO
    Lab7 POO
    Document10 pagini
    Lab7 POO
    Grosu Elena
    Încă nu există evaluări
  • TW Lab 5
    TW Lab 5
    Document4 pagini
    TW Lab 5
    danielploaia
    Încă nu există evaluări
  • POO Lab7
    POO Lab7
    Document6 pagini
    POO Lab7
    Dani Ela
    Încă nu există evaluări
  • AI-191 Medinschi Ion SO4
    AI-191 Medinschi Ion SO4
    Document5 pagini
    AI-191 Medinschi Ion SO4
    Carolin
    Încă nu există evaluări
  • LL1 Baze de Date
    LL1 Baze de Date
    Document10 pagini
    LL1 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • Lucrare de Laborator nr.4 Florea Cristina
    Lucrare de Laborator nr.4 Florea Cristina
    Document9 pagini
    Lucrare de Laborator nr.4 Florea Cristina
    Cristina Florea
    Încă nu există evaluări
  • AMOO Lab2.Use Case
    AMOO Lab2.Use Case
    Document5 pagini
    AMOO Lab2.Use Case
    Dorin Gribincea
    Încă nu există evaluări
  • APA - Lab2 GS
    APA - Lab2 GS
    Document18 pagini
    APA - Lab2 GS
    Unknown Person
    Încă nu există evaluări
  • Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Document4 pagini
    Laboratorul Nr1 La Grafica Pe Calculator Gc.
    Ion Damaschin
    Încă nu există evaluări
  • TW Lab2
    TW Lab2
    Document4 pagini
    TW Lab2
    Dan
    Încă nu există evaluări
  • Iepuras Daniel Lab 1 TS
    Iepuras Daniel Lab 1 TS
    Document4 pagini
    Iepuras Daniel Lab 1 TS
    DanuIepuras
    Încă nu există evaluări
  • AMOO3 Morcotilo Nichita FINAL
    AMOO3 Morcotilo Nichita FINAL
    Document11 pagini
    AMOO3 Morcotilo Nichita FINAL
    Никита Мк.
    Încă nu există evaluări
  • Asdn2 Lab5
    Asdn2 Lab5
    Document4 pagini
    Asdn2 Lab5
    Жан Ганган
    Încă nu există evaluări
  • SOMIPP Labs
    SOMIPP Labs
    Document107 pagini
    SOMIPP Labs
    Ionel Boaghe
    Încă nu există evaluări
  • PSI Lab 3
    PSI Lab 3
    Document10 pagini
    PSI Lab 3
    Nicolae
    Încă nu există evaluări
  • Laborator 1 Cucu Eugeniu
    Laborator 1 Cucu Eugeniu
    Document5 pagini
    Laborator 1 Cucu Eugeniu
    Cucu Eugen
    Încă nu există evaluări
  • Lab5 AMOO
    Lab5 AMOO
    Document12 pagini
    Lab5 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Lab1 Somipp
    Lab1 Somipp
    Document14 pagini
    Lab1 Somipp
    Jen4ik
    100% (1)
  • Laborator nr6 CDE
    Laborator nr6 CDE
    Document5 pagini
    Laborator nr6 CDE
    Vlad Racu
    Încă nu există evaluări
  • Lab4 AMOO
    Lab4 AMOO
    Document6 pagini
    Lab4 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Laborator 4 Croitoru Tudor
    Laborator 4 Croitoru Tudor
    Document3 pagini
    Laborator 4 Croitoru Tudor
    DorelDjj
    Încă nu există evaluări
  • Grafica Pe Calculator Lab 1 Java
    Grafica Pe Calculator Lab 1 Java
    Document4 pagini
    Grafica Pe Calculator Lab 1 Java
    Calc 182
    Încă nu există evaluări
  • Somipp Linux 1 UTM
    Somipp Linux 1 UTM
    Document10 pagini
    Somipp Linux 1 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • TW Lab5
    TW Lab5
    Document3 pagini
    TW Lab5
    Dan
    Încă nu există evaluări
  • MMC Lab3 Rap
    MMC Lab3 Rap
    Document4 pagini
    MMC Lab3 Rap
    I LOVE ME
    Încă nu există evaluări
  • Iepuras Daniel LAB 3 TS
    Iepuras Daniel LAB 3 TS
    Document8 pagini
    Iepuras Daniel LAB 3 TS
    DanuIepuras
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document9 pagini
    Lab 1
    Cristian Conea
    Încă nu există evaluări
  • Amoo 7
    Amoo 7
    Document4 pagini
    Amoo 7
    AlionaCrigan
    Încă nu există evaluări
  • Lucrarea-Nr 8
    Lucrarea-Nr 8
    Document7 pagini
    Lucrarea-Nr 8
    Fil Gorea
    Încă nu există evaluări
  • Teoria Sistemelor Nr2
    Teoria Sistemelor Nr2
    Document10 pagini
    Teoria Sistemelor Nr2
    liveplayer
    Încă nu există evaluări
  • IoT LL1
    IoT LL1
    Document12 pagini
    IoT LL1
    Anya Mr
    100% (1)
  • IoT LL4
    IoT LL4
    Document4 pagini
    IoT LL4
    Anya Mr
    Încă nu există evaluări
  • APA - Proiect de Curs
    APA - Proiect de Curs
    Document43 pagini
    APA - Proiect de Curs
    Dan
    Încă nu există evaluări
  • LL4 PS
    LL4 PS
    Document12 pagini
    LL4 PS
    Anya Mr
    100% (1)
  • Lucrare de Laborator nr.1
    Lucrare de Laborator nr.1
    Document17 pagini
    Lucrare de Laborator nr.1
    Cristina Florea
    Încă nu există evaluări
  • Ppe 1
    Ppe 1
    Document5 pagini
    Ppe 1
    Victor Lungu
    Încă nu există evaluări
  • TW Lab 6
    TW Lab 6
    Document6 pagini
    TW Lab 6
    DanuIepuras
    Încă nu există evaluări
  • IoT LL6
    IoT LL6
    Document8 pagini
    IoT LL6
    Anya Mr
    Încă nu există evaluări
  • Raspunsuri AC
    Raspunsuri AC
    Document10 pagini
    Raspunsuri AC
    Anastasia Gherman
    Încă nu există evaluări
  • Somipplaba5 (Ru)
    Somipplaba5 (Ru)
    Document99 pagini
    Somipplaba5 (Ru)
    Maria Sevciuc
    0% (1)
  • PPE Lab7
    PPE Lab7
    Document14 pagini
    PPE Lab7
    danielploaia
    Încă nu există evaluări
  • Raport 6
    Raport 6
    Document3 pagini
    Raport 6
    Dekionlolz В
    Încă nu există evaluări
  • MD-Lab 3
    MD-Lab 3
    Document4 pagini
    MD-Lab 3
    Batranac Adriana
    Încă nu există evaluări
  • Algorimi Ciclici
    Algorimi Ciclici
    Document3 pagini
    Algorimi Ciclici
    Cristina Țărnă
    Încă nu există evaluări
  • Lucrare de Laborator Nr.3
    Lucrare de Laborator Nr.3
    Document6 pagini
    Lucrare de Laborator Nr.3
    Rusu Dragos
    Încă nu există evaluări
  • Raport Lab4 Sironin IA161
    Raport Lab4 Sironin IA161
    Document3 pagini
    Raport Lab4 Sironin IA161
    Dima Şironin
    Încă nu există evaluări
  • Programare Lab1
    Programare Lab1
    Document7 pagini
    Programare Lab1
    Ion Cornea
    Încă nu există evaluări
  • Lab - 1 EP Dutcovici Radu
    Lab - 1 EP Dutcovici Radu
    Document3 pagini
    Lab - 1 EP Dutcovici Radu
    Dutcovici Radu
    Încă nu există evaluări
  • Lab NR 3 TI-202-FR Badan Gleb
    Lab NR 3 TI-202-FR Badan Gleb
    Document11 pagini
    Lab NR 3 TI-202-FR Badan Gleb
    NeedMoreSleep
    Încă nu există evaluări
  • Indrumar Teoria Sistemelor, UTM 2014
    Indrumar Teoria Sistemelor, UTM 2014
    Document52 pagini
    Indrumar Teoria Sistemelor, UTM 2014
    Sergiu Şveţ
    Încă nu există evaluări
  • Grafica Pe Calculator
    Grafica Pe Calculator
    Document138 pagini
    Grafica Pe Calculator
    Gaby Gabriel
    100% (1)
  • Etica Profesionala PDF
    Etica Profesionala PDF
    Document61 pagini
    Etica Profesionala PDF
    Maria Madalina
    Încă nu există evaluări
  • Destinul Omului de Geniu in Creatia Eminesciana
    Destinul Omului de Geniu in Creatia Eminesciana
    Document3 pagini
    Destinul Omului de Geniu in Creatia Eminesciana
    Sergiu Şveţ
    Încă nu există evaluări