Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Matlab


Qdidactic » stiinta & tehnica » informatica » matlab
Reprezentari grafice 3D



Reprezentari grafice 3D


Reprezentari grafice 3D


In acest capitol se prezinta functiile MATLAB pentru reprezentarile grafice in plan sau spatiu asociate cu campurile bidimensionale:

clabel - plaseaza marcaje pe liniile de contur, referitoare la cota Z;

cornet3      - reprezinta dinamic (in miscare ) traiectoria unui punct, intr-o reprezentare grafica 3D;

contour -reprezinta grafic in 2D liniile de contur (liniile de nivel constant );

contourc           -returneaza o matrice care contine perechile (cota Z-numar puncte si coordonate X-coordonata Y);

contour3 -reprezinta grafic in 3D liniile de contur (liniile de nivel constant);

fill3      -reprezinta grafic poliedre in 3D;

plot3    -reprezinta grafice in 3D;

quiver  -reprezinta grafic orientarea unui camp de vectori.




1.Reprezentarea liniilor de contur

1.1.Calculul matricei liniilor de contur


Matricea care contine perechile de coordonate (X,Y) ale fiecarei linii de contur, se determina cu functia contourc; se apeleaza cu una dintre sintaxele:

C=contourc(Z)              -calculeaza matricea liniilor de contur ale matricei Z. Numarul liniilor de nivel si valorile acestora sunt alese automat;

C=contourc(Z,n)          -calculeaza matrice liniilor de contur ale matricei Z pentru n linii de contur(n este un scalar);

C=contourc(Z,v)          -calculeaza matricea liniilor de contur ale matricei Z la nivelele specificate de vectorul v;

C=contourc(x,yZ),C=contourc(x,y,z,n) si C=contourc(x,y,Z,v) -calculeaza matricea liniilor de contur ale matricei Z si utilizeaza date din vectorii x si y pentru a controla scalarea axelor Ox si Oy. Elementele x si y sunt cu pas constant.


1.2.Etichetarea cotelor liniilor de contur


Pentru a preciza cotele liniilor de contur intr-o reprezentare se foloseste functia clabel; se apeleaza cu una dintre sintaxele:

clabel(C)                      - eticheteaza liniile de nivel. Pozitia acestora este aleasa aleatoriu;

clabel(C,V) - eticheteaza liniile de nivel precizate de vector V;

clabel(C,’manual’)      - eticheteaza liniile de nivel selectate cu mouse-ul. Se apasa tasta „ENTER” pentru a termina actiunea si „Space Bar” pentru a introduce urmatoarea linie de nivel.

Exemplul 1.1. Sa se reprezinte grafic si sa se eticheteze liniile de nivel ale functiei z =x exp(-x2-y2) in domeniul:.

Cu secventa MATLAB:

[x,y]= meshdom(-2:.2:2,-2:.2:3);

z=x.*exp(-x. 2-y.

C=contour(-2:.2:2,-2:.2:3,z,8)

clabel(C)

se obtine graficul din figura:


Etichetarea liniilor de nivel cu functia clabel

1.3.Reprezentarea grafica in spatiu a liniilor de contur


Reprezentarea grafica in spatiu a liniilor de nivel constant se realizeaza cu functia contour3; se apeleaza cu una dintre sintaxele:

contour3(Z)                 -realizeaza reprezentarea 3D a liniilor de contur ale matricei Z;

contour3(Z,N) -realizeaza reprezentarea 3D a N linii de contur ale matricei Z;

contour3(X,Y,Z,) si contour3(X,Y,Z,N) -utilizeaza matricele X si Y pentru a defini limitele axelor.


Exemplul 1.2. Sa se reprezinte grafic in 3D liniile de contur ale functiei predefinite peaks.

Cu secventa MATLAB:

x= -3:.125:3;

y=x;

[X,Y]=meshgrid(x,y);

Z=peaks(X,Y);

contour3(X,Y,Z,20)



se obtine secventa din figura:



Reprezentarea grafica a liniilor

de contur cu functia contour3


1.4.Reprezentarea grafica a campurilor de vectori orientati


Reprezentarea grafica a unui camp de vectori orientati foloseste functia quiver, se apeleaza cu una din sintaxele:

quiver(X,Y,DX,DY) -reprezinta mici segmente de dreapta cu sageti (vectori) avand originea la perechile de elemente (X,Y). Fiecare pereche de elemente din matricele DX si DY sunt proiectiile vectorului pe axele Ox si Oy;

quiver(DX,DY) - presupune implicit X=1:n si Y=1:m. In acest caz DX si DY sunt pe o retea rectangulara;

quiver(x,y,dx,dy,s) si quiver(dx,dy,s) - controleaza lungimea sagetilor prin factorul de scala s.


Exemplul 1.3. Sa se reprezinte grafic vectorii unei miscari browniene.

Cu secventa MATLAB:

xg=-2:.5:2;

yg=-2:.5:2;

dx=rand(length(xg),length(xg))-0.5;

dy=rand(length(yg),length(yg))-0.5;

quiver(xg,yg,dx,dy)

se obtine reprezentarea din figura:





Reprezentarea grafica a campurilor de

vectori cu functia quiver

2.Reprezentari spatiale cu linii

2.1.Reprezentarea liniilor in spatiu


Reprezentarea linilor in spatiu se face cu functia plot3, care se apeleaza cu una dintre sintaxele:

plot3 (x,y,z)     -unde x,y si z sunt vectori de aceeasi dimensiune, reprezinta grafic o linie in spatiul 3D, linie care trece prin punctele ale caror coordonate sunt tripletele (x,y,z);

plot3(x,y,z)      -unde x,y si z sunt matrice de aceleasi dimensiuni, reprezinta grafic cate o linie in spatiul 3D, pentru fiecare triplet al coloanelor matricelor [X(:,i),Y(:,i),Z(:,i)];


Exemplul 2.1. Sa se reprezinte grafic o spirala in 3D.

Cu secventa MATLAB:

t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

se obtine figura:

Reprezentarea grafica a unei linii

in spatiu cu functia plot3


2.2.Reprezentarea grafica spatiala a poliedrelor


Reprezentarea grafica in spatiu a poliedrelor se face cu functia fill3, care se apeleaza cu una dintre sintaxele:

fill3(x,y,z,c) fill3(x,y,z,’c’) fill3(x1,y1,z1,c1,x2,y2,z2,c2, . ..)


2.3.Reprezentarea suprafetelor cu „mesh”

Reprezentarea suprafetelor cu „mesh” se face folosind functiile: mesh, meshc si meshz  care se apeleaza cu sintaxele:

mesh(X,Y,Z,C) mesh(X,Y,Z) mesh(Z) mesh(Z,C) meshc( . ) meshz( . )


Exemplul 2.2. Reprezentati grafic functia Z=Xexp(-X2-Y2):

1.ca suprafata „mesh”

2.ca suprafata „mesh” asociata cu linii de contur

3.ca suprafata „mesh” cu plan de referinta

Cu secventa MATLAB:

[X,Y]=meshgrid (-2:.2:2, -2:.2:2);

Z=X.*exp(-X. 2-Y.

subplot(221);mesh(X,Y,Z)

subplot(222);meshc(X,Y,Z)

subplot(223);meshz(X,Y,Z)

se obtin reprezentarile din figura:



Reprezentarea cu „mesh” a suprafetelor 3D



2.4.Reprezentarea grafica a suprafetelor netede


Functiile surf si surfc reprezinta suprafete 2D sau suprafete 3D asociate cu liniile de nivel proiectate pe planul bazei; se apeleaza cu una dintre sintaxele:

surf(X,Y,Z,C)    -reprezinta o suprafata deschisa de matricele X,Y si Z, si colorata cu elemente precizate in matricea C. In utilizari simple argumentele X si Y pot fi vectori sau pot fi omise; argumentul C poate fi si el omis;

surf(X,Y,Z) -considera C=Z, astfel incat culoarea este proportionala cu inaltimea suprafetei;

surf(x,y,Z) si surf(x,y,Z,C) - realizeaza reprezentarea suprafetei descrise de matricea (mxn), unde vectorul x are dimensiunea n, vectorul y are dimensiunea m, iar matricea C are dimensiunea m x n;

surf(Z) si surf(Z,C) -presupune x=1:n si y=1:m pentru reprezentarea grafica 3D a matricei Z, folosind eventual si matricea de culoare C;

surfc( . )           -este identica cu surf( . ), exceptand liniile de nivel, care sunt reprezentate sub suprafata, pe acelasi grafic.


Exemplul 2.3. Reprezentati o suprafata 3D asociata cu liniile de nivel.

Cu secventa MATLAB:

[X,Y]=meshgrid(-3:.25:3);

Z=peaks(X,Y);

surfc(X,Y,Z)

se obtine reprezentarea grafica din figura:








Reprezentarea 3D a suprafetelor

asociate cu linii de nivel.


3.Reprezentaea obiectelor spatiale


Obiectele spatiale predefinite in MATLAB sunt:

cylinder -genereaza un obiect cilindru;

sphere -genereaza un obiect sfera.


3.1.Reprezentarea grafica a obiectului cilindru


Functia cylinder genereaza un cilindru de raza R, cu cercul bazei aproximativ din N puncte echidistante; se apeleaza cu sintaxa: [x,y,z]=cylinder(R,N)


Exemplul 3.1. Sa se reprezinte grafic un con de raza Rc1=0.5 si inaltime Hc=7.5 si un trunchi de piramida cu baza hexagonala, cu cercurile circumscrise bazele de raze Rp1=1 si Rp2=0.5 si inaltime Hp=7.5.

Cu secventa MATLAB:

Rc1= 0.5; Rc2=0; Hc=7.5; N=30;

[xc,yc,zc]=cylinder ([Rc1 Rc2],N);zc=zc*Hc;

view([-37.5 30]); surface (xc,yc,zc); grid

figure

Rp1=1; Rp2=0.5; Hp=7.5; N=6;

[xp,yp,zp]=cylinder ([Rp1 Rp2], N); zp=zp*Hp;

view([-37.5 30]); surface (xp, yp, zp);grid

se obtine reprezentarea grafica din figura:










Reprezentarea grafica a obiectelor cu functia cylinder

3.2.Reprezentarea grafica a obiectului sfera


Functia sphere genereaza coordonatele (x,y,z) ale sferei unitare, care pot fi utilizate cu functiile surf si mesh, se apeleaza cu una dintre sintaxele:

[x,y,z]=sphere(n) -genereaza coordonatele sferei in trei matrice (n+1)x(n+1), care pot fi reprezentate grafic cu functia surf (x,y,z) sau mesh (x,y,z).

sphere(n) -reprezinta grafic suprafata unei sfere.


Exemplul.3.2.1.Sa se genereze si sa se reprezinte grafic o sfera.

Cu secventa MATLAB:

[X,Y,Z]=sphere(20);

mesh(X,Y,Z); grid



Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright

stiinta

Matlab



Access
Autocad
Baze de date
C
Calculatoare
Catia
Excel
Foxpro
Grafica design
Html
Internet
Java
Linux
Mathcad
Matlab
Oracle
Outlook
Photoshop
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Esee pe aceeasi tema


Functii de matrice. Valori proprii
Plotari 2 D elementare
Reprezentari grafice 3D
Operatiuni elementare cu matrici si functii



Ramai informat
Informatia de care ai nevoie
Acces nelimitat la mii de documente. Online e mai simplu.

Contribuie si tu!
Adauga online documentul tau.