Sintezarea Figurilor Geometrice

Previzualizare laborator:

Extras din laborator:

Scopul lucrării: Obţinerea cunoştinţelor practice în sinteza figurilor grafice

Sarcina lucrării:

1. De a elabora un program pentru sintezarea şi afişarea figurilor grafice conform variantelor tabelul.

2. De a afişa figuri sintezate în diferite porţi de vizualizare.

3. De a descrie fiecare figura sintezată.

4. De a utiliza operaţiuni de salvare şi restaurare a imaginilor în/din fişiere

Tabelul : Variantele de îndeplinire a lucrării

Varianta nr.

Figuri grafice nr.

8 6,8,2,4,3,1,7,5,9

1.1 – Cerc 2.1 – Poligon 3.1 - Elipsa

1.2 – Sector de cerc 2.2 – Dreptunghi 3.2 - Paralelepiped

1.3 – Triunghi 2.3 – Linie 3.3 – Sector de elipsa

Listingul programului:

#include<DOS.h>

#include<math.h>

#include<conio.h>

#include<stdio.h>

#include<graphics.h>

#include<stdlib.h>

#include<fstream.h>

void initGr()

{ int gdriver = DETECT, gmode, errorcode;

initgraph(&gdriver, &gmode, "");

errorcode = graphresult();

if (errorcode != grOk)

{

printf("Graphics error: %sn", grapherrormsg(errorcode));

printf("Press any key to halt:");

getch();

exit(1);

}

}

void chenar()

{

int maxx,maxy;

maxx=getmaxx();

maxy=getmaxy();

setcolor(GREEN);

line(0,0,maxx,0);

line(0,maxy,maxx,maxy);

line(0,0,0,maxy);

line(maxx,0,maxx,maxy);

}

void gratii()

{

int maxx,maxy;

maxx=getmaxx();

maxy=getmaxy();

setcolor(BLUE);

line(maxx/3,0,maxx/3,maxy);

line(2*maxx/3,0,2*maxx/3,maxy);

line(0,maxy/3,maxx,maxy/3);

line(0,2*maxy/3,maxx,2*maxy/3);

}

void main()

{

initGr();

int maxx,maxy;

maxx=getmaxx();

maxy=getmaxy();

chenar();

gratii();

setcolor(RED);

//1.1

circle(maxx/6,maxy/6,maxy/6-5);

//1.2

setfillstyle(SOLID_FILL,YELLOW);

pieslice(maxx/2,maxy/6,75,300,maxy/6-5);

//1.3

line(5*maxx/6,15,2*maxx/3+15,maxy/3-15);

line(5*maxx/6,15,maxx-15,maxy/3-15);

line(2*maxx/3+15,maxy/3-15,maxx-15,maxy/3-15);

setfillstyle(SOLID_FILL,BLUE);

floodfill(maxx*5/6,maxy/6,RED);

//2.1

int r=maxy/6-5;

setcolor(RED);

moveto(maxx/6,2*maxy/3-6); //setam cursorul in puctul dat

for(float i=0;i<2*M_PI;i+=M_PI/6)

{

lineto(maxx/6+r*sin(i),maxy/2+r*cos(i)); //desenam linile

// delay(100);

}

//2.2

setcolor(3);

setfillstyle(SOLID_FILL,BLUE);

rectangle(maxx/3+20,maxy/3+20,2*maxx/3-20,2*maxy/3-20);

floodfill(maxx/2,maxy/2,3);

//2.3

setcolor(BLUE);

line(2*maxx/3+25,maxy/3+25,maxx-25,2*maxy/3-25);

//3.1

setcolor(RED);

ellipse(maxx/6,5*maxy/6,0,360,maxx/6-10,maxy/6-25);

//3.2

bar3d(maxx/3+15,2*maxy/3+25,2*maxx/3-25,maxy-15,20,1);

//3.3

setfillstyle(SOLID_FILL,YELLOW);

sector(5*maxx/6,5*maxy/6,10,270,maxx/6-10,maxy/6-25);

//memorarea in fisier

Observații:

Universitatea Tehnica a Moldovei

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • GRAFICA1.CPP
  • lab1.doc
Alte informații:
Tipuri fișiere:
doc, cpp
Nota:
7/10 (1 voturi)
Nr fișiere:
2 fisiere
Pagini (total):
5 pagini
Imagini extrase:
5 imagini
Nr cuvinte:
493 cuvinte
Nr caractere:
3 554 caractere
Marime:
409.39KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Grafică Computerizată
Predat:
la facultate
Materie:
Grafică Computerizată
Profesorului:
Vasile Gisca ,Constantin Plotnic
Sus!