Laboratoare grafică

Laborator
8/10 (1 vot)
Conține 4 fișiere: doc
Pagini : 21 în total
Cuvinte : 3510
Mărime: 277.93KB (arhivat)
Publicat de: Manole Pavel
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Plotnic C.
Universitatea Tehnică a Moldovei Tehnologii Informaţionale

Extras din laborator

Scopul lucrării: Obţinerea cunoştinţelor practice în sinteza figurilor şi suprafetelor în baza bibliotecii grafice a oricărui limbaj de programare (Pascal, C++, ori Java).

Consideraţii teoretice:

Orice lucru în regim grafic se începe cu iniţializarea modului grafic care se face cu ajutorul functiei InitGraph(GraphDriver,GraphMode) – funcţia stabileşte valorile implicite ale parametrilor de operare în mod grafic şi incarcă de pe disc în memorie modulul driver corespunzător primului parametru. Modul de lucru al driver-ului încarcat este specificat prin al doilea parametru, iar denumirea completă a căii unde se va cauta fişierul .BGI corespunzător este prezentată prin al treilea parametru. Închiderea modului se face cu : Closegraph – funcţia efectuiază revenirea în mod text , modului implicit de lucru a sistemului de afişare. Ea apelează funcţia graphfreemen pentru a elibera memoria ocupată de driver-ulgrafic, setul sau seturile de caractere utilizate de program precum şi zonele de memorie interne.

Funcţiile de desenare a liniilor şi suprafeţelor sînt:

Line(x1,y1,x2,y2) – functia afiseaza o linie intre punctele de coordonate (x1,y1) si (x2,y2), specificate ca parametri.

Rectangle(x1,y1,x2,y2) – funcţia afişează un dreptunghi specificat prin două vîrfuri diametral opuse: stînga sus si dreapta jos.

În biblioteca grafică există funcţii pentru desenarea următoarelor curbe conice: cerc, arc de cerc, elipsă şi arc de elipsă

Circle(x,y,r) – funcţia afişează un cerc avînd centrul de coordonate (x,y) şi raza r,specificate ca parametri. Raza se exprimă printr-un număr întreg.

Arc(x,y,ui,uf,r) – funcţia afişează un arc de cerc, între unghiul iniţial şi unghiul final sînt specificate ca parametri. Raza cercului şi coordonatele centrului x şi y sînt de asemenea parametri ai funcţiei. Unghiurile iniţial şi final se exprimă în grade, cuprinse între 0 şi 360 grade.

Ellipse(x,y,ui,uf,a,b) – funcţia afişează elipsa sau un arc de elipsă. Coordonatele centrului x şi y, semiaxele a şi b precum şi unghiurile iniţial ui şi respectiv uf sînt specificate ca parametri ai funcţiei.

Drawpoly(n,m) – funcţia dată desenează un poligon cu numărul de vîrfuri n şi coordonatele m.

Suprafaţa poligonală

Fillpoly – funcţia afişează o suprafată poliginală utilizind valorile curente ale atributelor de afişare ale liniilor pentru contur, şi valorile curente ale atributelor de afişare ale suprafeţelor pentru restul punctelor suprafeţei. Poligonul se specifică prin numărul de vîrfuri şi vectorul coordonatelor (x,y) ale vîrfurilor. În cazul în care coordonatele ultimului vîrf diferă de coordonatele primului vîrf poligonul este închis automat.

setfillstyle(n,m) – funcţia dată defineşte culoarea şi stilul în care va fi colorată figura

Suprafaţa circulară şi eliptică, sector de cerc şi de elipsă

sector(x,y,ui,uf,a,b) - funcţia desenează un sector de cerc sau de elipsă (depinte ce lungime le dăm rayelor). x,y – coordonatele centrului, unghiurile iniţial şi respectiv final; a,b - razele.

Textul programului:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

#include<fstream.h>

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

int xmax, ymax;

/* initialize graphics and local variables */

initgraph(&gdriver, &gmode, "e:TCbgi");

/* read result of initialization */

errorcode = graphresult();

/* an error occurred */

if (errorcode != grOk)

{

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

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

getch();

exit(1);

}

setcolor(getmaxcolor());

xmax = getmaxx();

ymax = getmaxy();

/* desenam liniile si coloanele */

line(0, ymax/3, xmax, ymax/3);

line(0,2*ymax/3,xmax,2*ymax/3);

line(xmax/3,0,xmax/3,ymax);

line(2*xmax/3,0,2*xmax/3,ymax);

//cercul

circle(100, 75, 50);

//sector de cerc

setfillstyle(1,10);

pieslice(300, 75, 135, 230, 80);

//triunghi

setfillstyle(2,4);

int poly[10];

setcolor(15);

poly[0] = 450;

poly[1] = 100;

poly[2] = 500;

poly[3] = 50;

poly[4] = 600;

poly[5] = 100;

poly[6] = poly[0];

poly[7] = poly[1];

fillpoly(4,poly);

//desenarea poligonului de 12 laturi

int a[30];

a[0]=50; a[1]=300;

a[2]=50; a[3]=250;

a[4]=70; a[5]=250;

a[6]=70; a[7]=200;

a[8]=90; a[9]=200;

a[10]=90; a[11]=210;

a[12]=150; a[13]=220;

a[14]=150; a[15]=230;

a[16]=190; a[17]=240;

a[18]=190; a[19]=250;

a[20]=150; a[21]=270;

a[22]=110; a[23]=310;

a[24]=a[0]; a[25]=a[1];

drawpoly(13,a);

//dreptunghi

setfillstyle(1,2);

bar3d(250,200,350,300,0,1);

//linia

setcolor(5);

line(450,250,630,250);

setcolor(15);

//elipsa

ellipse(100, 390,0,360,

75, 30);

//paralelipiped

setfillstyle(2,2);

bar3d(xmax/2, ymax-50, xmax/2+70,

ymax-100, 10, 1);

//sector de elipsa

sector(540, 400, 0, 180, 100, 50);

outtextxy(430, 280, "Lucrare de laborator nr.1");

outtextxy(480, 300, "Tirsina Sergiu")

Preview document

Laboratoare grafică - Pagina 1
Laboratoare grafică - Pagina 2
Laboratoare grafică - Pagina 3
Laboratoare grafică - Pagina 4
Laboratoare grafică - Pagina 5
Laboratoare grafică - Pagina 6
Laboratoare grafică - Pagina 7
Laboratoare grafică - Pagina 8
Laboratoare grafică - Pagina 9
Laboratoare grafică - Pagina 10
Laboratoare grafică - Pagina 11
Laboratoare grafică - Pagina 12
Laboratoare grafică - Pagina 13
Laboratoare grafică - Pagina 14
Laboratoare grafică - Pagina 15
Laboratoare grafică - Pagina 16
Laboratoare grafică - Pagina 17
Laboratoare grafică - Pagina 18
Laboratoare grafică - Pagina 19
Laboratoare grafică - Pagina 20
Laboratoare grafică - Pagina 21

Conținut arhivă zip

  • lab_4.doc
  • Laborator 1.doc
  • Laborator 2.doc
  • Laborator_3.doc

Alții au mai descărcat și

Introducere în Fotogrammetrie

Fotogrammetria are ca principal scop determinarea formei şi dimensiunilor plane sau spaţiale cu ajutorul fotografiilor Aceste fotografii se numesc...

Lucrare 1 - Autocad

1. Scop Familiarizarea studenţilor cu : lansarea in execuţie a Autocad-ului, aspectul ecranului şi elementele tipice , operaţii cu fişiere,...

Laborator Autocad

1.1. Introducere - Ce este AutoCAD ? AutoCAD este un ansamblu de programe de proiectare asistată de calculator, pentru computere individuale (...

Proiectare Asistată de Calculator

LABORATOR 1 INTRODUCERE ÎN MATLAB MATLAB este un program interactiv, produs de firma MATHWORKS pentru calcule numerice de înaltă performanţă şi...

Sisteme grafice, analiza și sinteza sistemelor grafice

Lucrarea practiсă Nr.1 Tema: Sisteme grafice, analiza şi sinteza sistemelor grafice Scopul lucrării: Să analizam sistemele grafice. Mersul...

Desenare Editare, Blocuri Atribute Cotare, 3D Non-Primitive, Compunere

5.1.1. Editarea poliliniilor Editarea poliliniilor este o operaţie utilă şi necesară pentru finalizarea unui desen şi vizează modificări ale...

Aplicații rezolvate AutoCAD

APLICAŢII 8.1. Aplicaţii rezolvate AR 1. Să se reprezinte conturul din figura AR 1.1 utilizând comenzile simple de desenare. Figura AR 1.1...

Seminar Corel Draw

Corel Draw este un editor specializat pentru producerea imaginilor. Fişierile imagine au extensia CDR. 1. Începutul lucrului Start  Programs ...

Te-ar putea interesa și

Raport de practică - Spitalul Clinic de Recuperre Iași

INTRODUCERE „Conducerea: arta de a determina pe altul să facă ce dorești tu, dar din proprie inițiativă.” - Dwight D. Eisenhover - Proiectul...

Educația științifică în școală prin modalități specifice chimiei

Educatia stiintifica are in societatea cunoasterii , in mod necesar, un caracter inter si transdisciplinar.Cunoasterea actuala, pentru a putea...

Măsurarea parametrilor cablurilor electrice

I.Notiuni teoretice Pentru măsurarea parametrilor cablurilor electrice se utilizează, generatorul DG 1062Z și osciloscopul DS 2302A. Acestea vor...

Osciloscopul cu 2 Canale

Osciloscopul cu doua canale PRINCIPIUL LUCRARII În cadrul lucrarii de laborator s-a studiat osciloscopul catodic tip E-0103, produs de I.E.M.I...

Caz insuficiență renală acută

Pacienta M.I. în vârstă de 20 de ani se prezintăde urgență la SCJUS în data de 16.02.2023 cu următoarele manifestări de dependență : - icter,...

Sisteme Informatice de Management

Laborator 01: Concepte de bază Obiective - Cunoasterea câtorva notiuni de bază privind operarea cu foi de calcul - Modalitătile de utilizare a...

5 lucrări de laborator efectuate în Matlab UTM

Scopul lucrării:Familiarizarea cu elementele de bază ale sistemului MATLAB, precum si deprinderea in lucru cu acest sistem. Mersul lucrării:...

Semnale și Sisteme

Laboratorul 2. Semnale si sisteme. 1 Convolutii In teoria semnalelor si a sistemelor convolutiile joaca un rol important deoarece definesc...

Ai nevoie de altceva?