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 2450002Elementy grafiki inzynierskiej?1Christine DePetrillo [Element Deeper (epub) id 20329272006 03 Blender–program do grafiki 3D [Grafika]Elementy grafiki inzynierskiej?Elementy grafiki inzynierskiej?0Elementy grafiki inzynierskiej?Elementy grafiki inzynierskiej?Matlab 3 id 2180244 NieznanyMatlab 2 id 2180243 Nieznanywięcej podobnych podstron