Matlab3 Elementy Grafiki 3D id 2450001


Instytut Robotyki i In�ynierii Oprogramowania

Wy�sza Szkoªa In�ynierska w Zielonej Górze

Laboratorium Systemów Przetwarzania Numerycznego i Symbolicznego

Elementy graki trójwymiarowej

Program �ówiczenia obejmuje nast�Śpuj�Ące zadania:

1. Do rysowania krzywych wykorzystuje si�Ś polecenie plot3. Przy jego pomocy narysowa�ó wykresy krzywych danych nast�Śpuj�Ącymi równaniami parametrycznymi:

(a) (tn, t, t), n = 1, 2, 3

(b) (t2, t, t3)

(c) (sin t, cos t, t)

(d) (cosh t, sinh t, t)

Jak do otrzymanych wykresów doda�ó opisy osi i tytuª caªego rysunku?

2. Aby narysowa�ó wykres funkcji sin(r)/r na prostok�Ącie [�ł8, 8]�[�ł8, 8], nale�y wprowadzi�ó ci�Ąg instrukcji

>> x = -8:.5:8;

>> y = x;

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

>> R = sqrt(X.^2 + Y.^2) + eps;

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

>> mesh(Z)

Wyja�ąni�ó znaczenie ka�dej z tych instrukcji. Jak�Ą rol�Ś peªni w czwartym poleceniu zmienna eps? Co otrzyma si�Ś po zast�Ąpieniu wywoªania mesh(Z) wywoªaniem surf(Z)? Jak zmieni�ó palet�Ś kolorów u�ywan�Ą przez to ostatnie polecenie (zob. colormap)?

Jak do otrzymanego wykresu doda�ó opisy osi i tytuª caªego rysunku? Zauwa�y�ó, �e zakres warto�ąci na osi x nie odpowada bynajmniej zakresowi [�ł8, 8] (podobnie na osi y). Sk�Ąd bior�Ą si�Ś w takim razie widoczne warto�ąci? Jak doprowadzi�ó do wªa�ąciwego wyskalowania wszystkich osi? A jak w ogóle usun�Ą�ó

z rysunku wszystkie osie?

Do zmiany k�Ąta widzenia caªego wykresu sªu�y polecenie view. Przetestowa�ó jego dziaªanie wprowadza-j�Ąc kolejno view(-37.5,30), view(-7,80), view(-90,0), view(-7,-10) (zwróci�ó uwag�Ś na to, �e k�Ąty s�Ą w tym przypadku wyj�Ątkowo podawane w stopniach, a nie w radianach).

Narysowa�ó wykresy poni�szych funkcji:

(a) z = x + 2y �ł 2, (x, y) ∈ [�ł2, 2] � [�ł2, 2]

(b) z = x2 + y2, (x, y) ∈ [�ł2, 2] � [�ł2, 2]

(c) sin(xy), (x, y) ∈ [0, 3π] � [0, π]

(d) z = ln(x2 + 4y2), (x, y) ∈ [�ł2, 2] � [�ł2, 2]

(e) z = e�ł4x2�ły2, (x, y) ∈ [�ł2, 2] � [�ł2, 2]

(f) z = (1 �ł x2 + y4 )ex, (x, y) ∈ [10, 20] � [�ł10, 10]

2

24

(g) z = �ł10p|xy|, (x, y) ∈ [�ł5, 5] � [�ł5, 5]

1

�Łą

x2 �ł y2

�Ł�

(h)

xy

gdy x2 + y2 > 0

z =

x2 + y2

�Łł

0

gdy x = y = 0

(i) z = �ł10x3y2, (x, y) ∈ [�ł5, 5] � [�ł5, 5]

(j) z = 3(1 �ł x)2e�łx2�ł(y+1)2 �ł 10(x �ł x3 �ł y5)e�łx2�ły2 �ł 1e�ł(x+1)2�ły2, (x, y) ∈ [�ł3, 3] � [�ł3, 3]

5

3

3. Do rysowania izolinii sªu��Ą procedury contour i contour3. Czym ró�ni si�Ś ich dziaªanie? Przetestowa�ó

je na przykªadach z poprzedniego zadania. Jak zmieni�ó liczb�Ś rysowanych poziomic? Jak spowodowa�ó

umieszczenie obok ka�dej poziomicy liczb oznaczaj�Ących odpowiedni�Ą warto�ą�ó funkcji? Jak doprowadzi�ó

do sytuacji, gdy dªugo�ąci obu osi na ekranie s�Ą równe (ekran spªaszcza wykres tak, �e ma on ksztaªt prostok�Ąta, a nie kwadratu)?

Podobnym poleceniem jest pcolor. Wypróbowa�ó jego dziaªanie, testuj�Ąc równocze�ąnie ró�ne palety kolorów (zmienia si�Ś je poleceniem colormap).

Zastanowi�ó si�Ś jak narysowa�ó poziomice funkcji, wypeªniaj�Ąc jednocze�ąnie przestrze« mi�Śdzy nimi odpowiednimi kolorami (tak jak w kartograi: punkty poªo�one najwy�ej maj�Ą by�ó rysowane na cz-erwono, ni�ej na �óªto, itd.). Wskazówka: W tym celu trzeba równocze�ąnie u�y�ó funkcji contour i pcolor, jak równie� pozby�ó sie instrukcj�Ą shading flat siatki rysowanej przez pcolor.

4. Co oznacza symbol NaN? Co spowoduje zamiana instrukcji

>> mesh(Z)

w przykªadzie z zad. 2 na sekwencj�Ś

>> Z(16:30, 4:16) = NaN * Z(16:30, 4:16); mesh(Z)

5. Funkcjami podobnymi w dziaªaniu do surf i mesh s�Ą surfc i meshz. Prosz�Ś przetestowa�ó ich dziaªanie rysuj�Ąc wykresy funkcji z zad. 2.

6. Efekt o�ąwietlenia powierzchni uzyskuje si�Ś poprzez zastosowanie funkcji surfl. Sprawdzi�ó jej dziaªanie na przykªadzie sekwencji polece«

>> [X, Y] = meshgrid(linspace(-1,1,50));

>> Z = -X.^2 - Y.^2;

>> surfl(Z, [-10 50]);

>> colormap(gray);

>> shading flat

Jaka jest rola ka�dego z tych polece«? Jak zmieni�ó poªo�enie �ąródªa �ąwiatªa? Dlaczego lepiej jest w tym przypadku stosowa�ó g�Śstsze siatki punktów, na których wyznaczane s�Ą warto�ąci funkcji?

7. Jaka jest rola polecenia hidden off w poni�szym ci�Ągu instrukcji?

>> [X, Y] = meshgrid(linspace(-1,1,10));

>> Z = X.^2 + Y.^2;

>> mesh(Z)

>> hold

>> pcolor(Z)

>> hidden off

8. Przy pomocy polecenia mesh narysowa�ó powierzchnie okre�ąlone nast�Śpuj�Ącymi równaniami parametrycznymi:

(a) (s, t, s �ł t)

2

(b) (t + 1, s, s �ł t)

(c) (s + t, s �ł t, s2 + t2)

(d) (s2 �ł t2, 2st, s2 + t2)

(e) (s + t, s �ł t, st)

(f) (s, t, t3 �ł 3s2t)

(g) (sin s cos t, sin s sin t, sin s), (s, t) ∈ [0, π] � [0, 2π]

(h) (cos s, sin s, t)

9. Czy polecenie subplot dziaªa równie� w przypadku wykresów trójwymiarowych? Aby si�Ś o tym przekona�ó, prosz�Ś spróbowa�ó narysowa�ó na jednym rysunku cztery wykresy wybranej funkcji utworzone odpowiednio przy pomocy polece« mesh, pcolor, contour3 i contour.

10. Gdy rysuje si�Ś kolejno dwa wykresy (np. poleceniem mesh), otworzone jest tylko jedno okno graczne.

Fakt ten powoduje, �e polecenie narysowania drugiego wykresu ko«czy si�Ś nieuchronnym zmazaniem wykresu pierwszego, co nie zawsze jest dopuszczalne. Jak w takim razie do rysowania drugiego wykresu otworzy�ó nast�Śpne okno graczne?

11. W jaki sposób wydrukowa�ó otrzymany wykres na drukarce lub zapami�Śta�ó go w pliku? Czy fakt, �e u�ywa si�Ś przy tym PostScriptu, stanowi zalet�Ś czy wad�Ś? Dlaczego równie� w innych programach tego typu (Mathematica, Maple V) graka opiera si�Ś na tym standardzie?

3







Wyszukiwarka

Podobne podstrony:
Matlab4 Wyrazenia Logiczne id 2450002
Elementy grafiki inzynierskiej?1
Christine DePetrillo [Element Deeper (epub) id 2032927
2006 03 Blender–program do grafiki 3D [Grafika]
Elementy grafiki inzynierskiej?
Elementy grafiki inzynierskiej?0
Elementy grafiki inzynierskiej?
Elementy grafiki inzynierskiej?
Matlab 3 id 2180244 Nieznany
Matlab 2 id 2180243 Nieznany

więcej podobnych podstron