Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Plotari tridimensionale (3 D)

Matlab



+ Font mai mare | - Font mai mic



Plotari tridimensionale (3 D)

Pasii tipici care trebuie parcursi pentru trasarea unor grafice tridimensionale sunt prezentati in continuare.



Etapa

Instructiuni

1.Pregatirea datelor

Z = peaks(20);

2. Selectarea ferestrei grafice si pozitionarea graficului in fereastra

figure(1)
subplot(2,1,2)

3. Apelarea unei functii de plotare 3-D

h = surf(Z);

4a. Setarea unei harti de culori si a unui algoritm de umbrire

colormap hot

shading interp

set(h,'EdgeColor','k')

4b. Adaugarea unei iluminari

light('Position',[-2,2,20])
lighting phong

material([0.4,0.6,0.5,30])
set(h,'FaceColor',[0.7 0.7 0],

      'BackFaceLighting','lit')

5. Setarea unui punct de vizualizare

view([30,25])
set(gca,'CameraViewAngleMode','Manual')

6. Setarea limitelor axelor si a marcajelor

axis([5 15 5 15 -8 8])

set(gca'ZTickLabel','Negative||Positive')

7. Setarea proportionalitatii

set(gca,'PlotBoxAspectRatio',

[2.5 2.5 1])

8. Completarea graficului cu etichete, legenda, text

xlabel('X Axis')

ylabel('Y Axis')

zlabel('Function Value')

title('Peaks')

9. Operatiuni de tiparire

set(gcf,'PaperPositionMode','auto')
print -dps2

Reprezentarea unei matrice ca o suprafata

MATLAB-ul defineste o suprafata prin coordonatele z ale punctelor de deasupra unui caroiaj dreptunghiular in planul x-y. Graficul este format prin unirea punctelor adiacente cu linii drepte. Plotarile de suprafete sunt utile pentru vizualizarea matricilor care sunt prea mari pentru a fi afisate in forma numerica si pentru trasarea graficelor functiilor de doua variabile.

MATLAB-ul poate crea diferite forme de trasare a suprafetelor:

Functie

Utilizare

mesh, surf

Trasare a unei suprafete

meshc, surfc

Trasarea suprafetei, inclusiv conturul

meshz

Trasarea suprafetei, inclusiv planul de referinta

pcolor

Plotare plana a suprafetei (valorile sunt proportionale doar cu culoarea)

surfl

Trasarea suprafetei luminata din directia specificata

surface

Functie de nivel scazut pentru crearea unor obiecte tip grafice suprafata

Grafice realizate cu mesh si surf

Comenzile mesh si surf genereaza suprafete 3-D din datele provenite de la matrici. Daca Z este o matrice pentru elementele careia Z(i,j) se defineste inaltimea unei suprafete peste un caroiaj (i,j) atunci

mesh(Z)

genereaza o imagine colorata, caroiata a suprafetei si o afiseaza in vedere 3-D.

Similar,

surf(Z)

genereaza o imagine colorata, continua a suprafetei si o afiseaza in vedere 3-D.

In cazul comenzii mesh se pot folosi comenzi de tipul shading pentru eliminarea liniilor de tip mesh (shading flat) sau pentru interpolarea umbririlor de-a lungul fatetelor suprafetei (shading interp).

Vizualizarea functiilor de doua variabile

Primul pas care trebuie parcurs pentru trasarea graficului unei functii de doua variabile, z = f(x,y), este de a genera matricile X si Y care definesc domeniul in care va fi vizualizata functia. Apoi se utilizeaza aceste matrici pentru evaluare si trasarea graficului functiei.

Functia meshgrid transforma domeniul specificat prin doi vectori, x si y, in matricile X si Y. Liniile matricei X sunt copii ale vectorului x si coloanele matricei Y sunt copii ale vectorului y.

Pentru a vedea cum se foloseste meshgrid, vom considera functia sin(r)/r (numita functia sinc). Pentru a evalua functia intre -8 si 8 si pentru x si pentru y, este necesar doar un argument de tip vector pentru meshgrid, care va fi utilizat in ambele directii:

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;

Matricea R contine distantele de la centru (originea), iar eps este adaugat pentru a evita impartirea la zero.

Acum se poate forma functia sinc si se poate realiza plotarea cu mesh.

Z = sin(R)./R;
mesh(Z)

Se poate realiza o imbunatatire a reprezentarii grafice in conditiile utilizarii acelorasi date, prin folosirea unor facilitati de iluminare si ajustare a imaginii (daspect, axis, camlight, view).

Exemplu:

 surf(X,Y,Z,'FaceColor','interp','EdgeColor','none',
 'FaceLighting','phong')
 daspect([5 5 1]);axis tight;view(-50,30);camlight left

Harta culorilor

Fiecare fereastra grafica MATLAB are asociata o harta a culorilor (colormap), care este o matrice cu trei coloane a caror lungime este egala cu numarul de culori definite. Fiecare linie a matricii defineste o culoare particulara prin specificarea a trei valori in domeniul 0 - 1. Aceste valori definesc componentele RGB (red, green, blue) (adica intensitatile componentelor video rosu, verde si albastru). Functia colormap fara argumente returneaza harta figurii curente.

Functia colorbar afiseaza in fereastra grafica harta curenta a culorilor, sub forma unei bare asezate langa grafic. Exemplu:

[x,y] = meshgrid([-2:.2:2]);Z = x.*exp(-x.^2-y.^2);
surf(x,y,Z,gradient(Z));colorbar



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1946
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