E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google
* Cele mai bine clasate si cele mai votate tutoriale sunt selectate dintre tutorialele adaugate in ultimele 30 de zile.

Tutoriale Matlab

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

APLICATII DEDICATE  /  Matlab  /  Diverse (9)

Crearea graficelor de suprafata si mesh

24.03.2009
Crearea graficelor de suprafata si mesh

In acest tutorial vei invata cum sa creezi grafice cu ajutorul unor functii de trasare precum mesh.

Total vizualizari: 7375 7375 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 20 min 20 min   |   Nivel de cunostiinte necesar: Mediu  Mediu

Sursa:  Mathworks.com  
Autor:  Mathworks.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1
comenteaza printeaza

Despre mesh si grafice de suprafata

O suprafata tridimensionala este definita de catre coordonatele z ale punctelor care nu se afla in planul xy, folosind linii drepte pentru a uni punctele adiacente. Functiile de trasare a graficelor mesh si surf afiseaza suprafete in trei dimensiuni. mesh produce suprafete wireframe care coloreaza doar liniile care unesc punctele ce definesc suprafetele. Functia surf afiseaza atat liniile de conexiune, cat si partile suprafetei.

Harta de culori a graficului si proprietatile acestuia determina modalitatea in care suprafata este colorata.

Vizualizarea functiilor de doua variabile

Afisarea unei functii de doua variabile z=f (x,y) implica:

  • Generarea matricelor X si Y constand in linii si coloane repetate peste domeniul functiei.
  • Utilizarea X si Y pentru a evalua si pentru a trasa graficul functiei.

Functia meshgrid transforma un domeniu reprezentat de un vector x sau de doi vectori x si y in doua matrici X si Y, care sunt folosite in evaluarea functiilor de doua variabile. Randurile din X sunt copii ale vectorului x si coloanele din Y sunt copii ale vectorului y.

Exemplu - crearea unui grafic pentru functia sinc.

Aceste exemplu evalueaza si traseaza un grafic pentru functia bidimensionala sinc, sin (r)/ r, intre coordonatele x si y. R este distanta de la origine, care se afla in centrul matricii. Adaugarea comenzii eps (o comanda MATLAB care returneaza un numar rational foarte mic) te ajuta sa eviti valoarea nedeterminata 0/0 pentru origine.

  • [X,Y] = meshgrid(-8:.5:8);
  • R = sqrt(X.^2 + Y.^2) + eps;
  • Z = sin(R)./R;
  • mesh(X,Y,Z,'EdgeColor','black')

In mod implicit, harta de culori curenta este folosita pentru a colora meshul. Oricum, acest exemplu foloseste un mesh de o singura culoare, initializand proprietatea EdgeColor (culoarea muchiilor) a suprafetei. Poti cauta pagina de referinta a comenzii surface pentru a vedea lista cu toate proprietatile suprafetei.

Poti crea un mesh cu parti transparente daca rulezi comanda: hidden off

Consulta pagina de referinta a comenzii hidden pentru mai multe informatii despre aceasta optiune.

Exemplu - grafice de suprafata colorate

Un grafic de suprafata este asemanator cu un grafic mesh cu exceptia faptului ca fetele poligonale ale suprafetei sunt colorate. Culoarea pentru fiecare parte este determinata de coordonata z si de harta de culori (o harta de culori este o lista ordonata de culori). Codul de mai jos traseaza graficul pentru functia sinc la fel ca un grafic de suprafata, specificand o harta de culori si adaugand o bara de culori pentru a arata modul in care datele sunt colorate.

  • surf(X,Y,Z)
  • colormap hsv
  • colorbar

Modificarea opacitatii

Partile unei suprafete pot fi facute mai mult sau mai putin transparente. Transparenta (la care se face referire ca fiind valoarea alpha) poate fi precizata pentru intregul obiect sau poate fi specificata prin alphamap, care functioneaza in mod similar unei harti de culori.

De exemplu, codul urmator:

  • surf(X,Y,Z)
  • colormap hsv
  • alpha(.4)

produce o suprafata cu alpha 0.4 pentru fete. Alpha poate lua valori intre 0 (complet transparent) si 1 (opac).

Iluminarea graficelor de suprafata

Un obiect poate fi luminat folosind o sursa directionala de lumina. In anumite cazuri, aceasta tehnica poate face mai vizibile diferentele subtile dintre formele de suprafata. Iluminarea poate fi folosita si pentru a adauga realism graficelor tridimensionale.

Acest exemplu foloseste aceeasi suprafata ca si exemplul anterior, cu diferenta ca o coloreaza cu rosu si sterge muchiile. O sursa de lumina este apoi adaugata in partea stanga a "camerei" (camera este punctul din spatiu de unde vizualizezi suprafata).

  • surf(X,Y,Z,'FaceColor','red','EdgeColor','none')
  • camlight left; lighting phong

Manipularea suprafetei

Bara de instrumente pentru grafice si pentru camera (View -> Camera Toolbar) furnizeaza modalitati de explorare interactiva a graficelor 3D.

Urmatoarea imagine iti prezinta ambele bare de instrumente avand selectata optiunea Rotate 3D.

Aceste intrumente te ajuta sa muti camera in jurul suprafatei, sa maresti sau sa micsorezi zona vizibila, sa adaugi mai multa lumina, etc., fara a folosi comenzi.

Urmatoarea imagine iti arata suprafata privita din partea de jos, folosind optiunea Rotate 3D. Pentru a lumina partea de interior a suprafetei a fost introdusa o alta sursa de lumina, deoarece aceasta parte nu era luminata de sursa adaugata in sectiunea anterioara.

Pagina:
1
comenteaza printeaza
Alte tutoriale Matlab:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4079
Tutoriale scrise de tornaddoss
tornaddoss Rang utilizator tornaddoss - Incepator
3174
Tutoriale scrise de Pustiu
Pustiu Rang utilizator Pustiu - Expert
2147
Tutoriale scrise de magda.badita
magda.badita Rang utilizator magda.badita - Incepator
1690
Tutoriale scrise de adry.ro
adry.ro Rang utilizator adry.ro - Incepator
941
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
aparate foto
Illustrator Word PHP Ruby on Rails XHTML Lightroom Swift 3D Powerpoint Photoshop HTML Fireworks RoR Flash Bridge StyleSheet Sony Vegas SWF Gimp Action Script SEO CSS XML Verilog Fotografie Dreamweaver COREL DRAW Outlook MySQL JSON Javascript PSD Python Vista Excel AJAX Java
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software