Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AgriculturaAsigurariComertConfectiiContabilitateContracteEconomie
TransporturiTurismZootehnie


GRAFICA STIINTIFICA SI ECONOMICA

Economie



+ Font mai mare | - Font mai mic



GRAFICA STIINTIFICA SI ECONOMICA

1. LIMBAJE si biblioteci grafice



Pentru diferite limbaje de programare bibliotecile grafice au functii variate ce pot fi impartite in mai multe clase. Pentru a putea folosi functiile de grafica in cadrul programelor scrise in limbajul C trebuie sa se includa fisierul header graphics.h prin directiva #include<graphics.h> , iar in limbajul Pascal cu ajutorul instructiuniii uses in urmatorul mod: uses graph. In acest mod sunt recunoscute si variabilele predefinite sau sabloanele unor structuri.

Pentru a pitea utiliza functiile de grafica mai sunt necesare fisierele de tip BGI (Borland Graphics Interface), care contin codul obiect al driverelor specifice diferitelor interfete grafice si cele de tip CHR ce contin stiluri suplimentare de litere. Lucrul cu biblioteca grafica Borland presupune in prealabil deschiderea, folosirea functiilor si apoi inchiderea ei.

Pentru aceste limbaje putem distinge urmatoarele clase de functii:

Functii de intrare/iesire in/din regim grafic si interogarea modului si adaptorului grafic. Din aceasta clasa de functii fac parte cele ce initializeaza modul grafic, cum ar fi intergraph, pentru inchiderea modului grafic; closegraph, pentrudetectarea parametrilor adaptorului grafic; detectgraph, pentru obtinerea modului grafic ca numar getgraphmode si ca nume (sir de caractere) getmodename si a numelui driverului getdrivername.

Functii pentru determinarea sau setarea parametrilor sistemului grafic. La initializare parametrii iau valori implicite, dar aceste valori pot fi schimbate in functie de necesitati. Parametrii sistemului grafic constau din variabile elementare, ce pot fi grupate in diferite structuri predefinite in fisierul header respectiv. Din aceasta categorie de functii o putem aminti pe cea care determina parametrii de trasare a unei drepte (stilul liniei, grosimea ei), getlinesettings. In general cele care seteaza parametrii incep cu set. de exemplu functia setfillstyle, ce se foloseste pentru umplere si seteaza pattern-ul de umplere si culoarea.

Tot de aceasta clasa de functii apartin si cele ce seteaza pozitia cursorului moveto la o pozitie absoluta sau relativa la pozitia anterioara moverel.

In regim grafic, pentru unele moduri grafice se poate activa o pagina si o alta sa apara pe ecran. Acest lucru este posibil prin intermediul functiilor: setactivepage si setvizualpage. Pentru desemnarea unui vizor se foloseste functia setviewport.

Functii de captare si diagnosticare erori. Dupa executarea oricarei functii grafice, exista posibilitatea producerii unor erori. In acest sens exista functia graphresult, care intoarce un cod de eroare ce poate fi explicitat printr-un mesaj (sir de caractere) cu ajutorul functiei grapherrormsg.

Functii de lucru cu texte in mod grafic. pentru a scrie texte in mod grafic trebuie sa se stabileasca anumite caracteristici ale caracterelor, si anume fontul, directia de scriere si marimea lor. In acest sens exista functiile: settextstyle - ce fixeaza parametrii mentionati mai sus; settextjustify - care are ca efect centrarea textului de scris; textheight - ce stabileste in concordanta cu fontul activ inaltimea in pixeli a unui caracter; textwidth - care returneaza in functie de fontul curent lungimea in pixeli a sirului. Scrierea propriu-zisa a sirului se face cu functia outtext sau cand se doreste o pozitie fixa la care sa se scrie textul pe ecran se va folosi functia outtextxy.

Informatiile ce controleaza scrierea textelor in regim grafic sunt grupate in structura textsettingstype, care poate fi citita folosind functia gettextsettings.

Functii pentru gestiunea culorii. Din aceasta clasa de functii le putem mentiona pe cele care obtin culoarea (fond-fata) getcolor, citirea paletei de culori se face de catre functia getpallete, iar setpallete o seteaza. Pentru a obtine culoare unui pixel de la o anumita coordonata se foloseste functia getpixel,

Functii pentru reprezentari geometrice. In cadrul biblioteciigrafice exista functii pentru reprezentarea unui punct putpixel, pentru trasarea unei drepte line, linerel, lineto, trasare a unui poligon drawpoly, pentru cerc circle , pentru dreptunghi rectangle, pentru elipsa ellipse, pentru arce arc etc

Functii pentru gestiunea imaginilor. Din aceasta clasa de functii reprezentative sunt cele pentru obtinerea unei imagini de pe ecran getimage si punerea unei imagini pe ecran putimage. Alaturi de acestea mai sunt cele care obtin dimensiunea in baiti a zonei de memorie necesara pentru a stoca imaginea imagesize si cea care umple un contur floodfill.

2. Sisteme grafice

Productivitatea muncii de proiectare in o serii de domenii particulare a crescut semnificativ in ultimii ani, sistemele CAD conducand la productivitati de trei ori mai mari. De exemplu in cazul desenarii automate fata de desenarea manuala aceste cresteri spectaculoase se datoresc in primul rand schimbarii mentalitatii celor care scriu software-ul pentru sistemele de proiectare asistata de calculator; pachetele de programe nu au mai fost dezvoltate intr-o maniera orientata spre programator ci spre utilizator. Schimbarea de mentalitate, corelata cu disponibilitatea pe o scara tot mai mare a unor echipamente grafice adecvate si la preturi accesibile, s-a concretizat in aparitia a numeroase sisteme CAD, CAM si mai nou CAE.

Toate aceste sisteme se bazeaza pe sisteme grafice interactive care permit o comunicare om-calculator intermediata de imagini in functie de comoditatea si generalitatea utilizarii lor, sistemele grafice pot fi ierarhizate astfel:

sisteme la cheie (hardware si software);

sisteme aplicative (numai software);

pachete de subrutine grafice;

sisteme de instrumente grafice independente de dispozitiv;

software furnizat de fabricantul de echipamente grafice (driver de dispozitiv)..

Dezvoltarea unui sistem aplicativ puternic, care sa rezolve problemele dintr-un domeniu bine precizat, necesita un efort de programare considerabil. Utilizatorul unui astfel de sistem doreste protectia investitiilor sale in software in sensul unor modificari minime ale sistemului in cazul introducerii in configuratie a unor noi echipamente grafice. Aceasta implica crearea unor sisteme aplicative independente de dispozitivele fizice din configuratie, precum si standardizarea:

a)     sistemelor software de instrumente grafice independente de dispozitiv;

b)    interfetei dintre instrumentele grafice si dispozitivul fizic;

c)     metafisierul de imagini.

In acest sens la proiectarea si implementarea unui sistem grafic independent trebuie sa se tina seama de urmatoarele considerente:

Programul aplicativ face referinte la unul sau mai multe dispozitive grafice virtuale. In momentul lansarii in executie, programul aplicativ selecteaza unul sau mai multe dispozitive fizice cu care le inlocuieste pe cele virtuale.

Fiecare dispozitiv fizic este suportat de un driver de dispozitiv, care interpreteaza comenzile independente de dispozitiv si le pune in corespondenta cu instructiunile dependente de dispozitiv corespunzatoare pentru a genera desene sau a obtine intrari de la dispozitivele grafice reale (comenzile virtuale care nu au corespondente in instructiuni hardware sunt simulate prin software: de exemplu, colorarea unui poligon - fill polygon - se executa prin firmware pe un dispozitiv cu rastru, iar pe plotter se simuleaza prin hasurare).

Programul aplicativ defineste obiectele grafice folosind primitive grafice prin coordonate reale in 2D sau 3D.

Primitivele se grupeaza in segmente; segmentele sunt exclusive. Desenul afisat la un moment dat pe ecran este compus din unul sau mai multe segmente care pot fi identificate prin nume si care se pastreaza intr-o memorie de date specifice structurate pe segmente. Aceasta structura de date grafice este independenta de structura de date a oricarui program aplicativ.

Dispozitivul grafic virtual are o zona adresabila, independenta de dispozitiv, numita sistemul de coordonate virtuale.

Programul aplicativ defineste corespondenta de la o regiune dreptunghiulara din sistemul de coordonate reale - numita fereastra - la o regiune dreptunghiulara din sistemul de coordonate virtuale - numita vizor. Aceasta corespondenta se numeste transformarea de vizualizare.

Transformarea de vizualizare poate fi utilizata pentru a defini pozitia si orientarea unui patrat fotografic virtual in sistemul de coordonate real 3D. Se definesc astfel proiectii paralele , de perspective si oblice.

Transformarea de vizualizare 'fotografiaza' un obiect in coordonate reale. Inainte de a face 'fotografia', programul aplicativ poate scala, translata, roti sau elimina liniile exterioare, obiectul folosind o transformare de modelare specificata in coordonate reale.

Dispozitivul grafic virtual suporta functii de intrare grafica virtuala, independente de dispozitiv, care pot fi asociate cu segmente identificate prin nume, pentru a manipula dinamic imaginea acestor segmente pe dispozitiv fizic. Driver-ul dispozitivului pune in corespondenta dispozitivul de introducere real cu functiile de intrare virtuale.

Rezumand, independenta de aplicatie si de dispozitive grafice a unui sistem grafic se obtine prin respectarea a doua deziderate: a)izolarea datelor programului aplicativ de datele sistemului grafic si limitarea accesului programului aplicativ la rutinele independente de dispozitiv; b) virtualizarea echipamentelor grafice.

Al doilea deziderat se realizeaza prin implementarea unui pachet de subrutine grafice generale, apelabile din programul aplicativ, care trimit coduri de functii si parametri - asemanatoare directivelor de intrare/iesire din sistemul de operare - prin intermediul unei inetrfete virtuale cu dispozitivul VDI- (Virtual Device Interface)



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 974
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved