Przeglądaj wersję html pliku:
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 krzy-
wych danych nast¦puj¡cymi równaniami parametrycznymi: (a) (b) (c) (d)
(tn , t, t), (t , t, t )
2 3
n = 1, 2, 3
(sin t, cos t, t) (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) mesh(Z) wywoªaniem surf(Z) ? (zob. colormap )?
[−8, 8]
(podobnie na osi
Wyja±ni¢ znaczenie ka»dej z tych instrukcji. Jak¡ rol¦ peªni w czwartym poleceniu zmienna otrzyma si¦ po zast¡pieniu wywoªania u»ywan¡ przez to ostatnie polecenie
eps?
Co
Jak zmieni¢ palet¦ kolorów
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
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 j¡c kolejno
view. Przetestowa¢ jego dziaªanie wprowadzaview(-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) (b) (c) (d) (e) (f ) (g)
z = x + 2y − 2, z =x +y , sin(xy),
2 2 2
(x, y) ∈ [−2, 2] × [−2, 2]
(x, y) ∈ [−2, 2] × [−2, 2] (x, y) ∈ [−2, 2] × [−2, 2] (x, y) ∈ [10, 20] × [−10, 10]
(x, y) ∈ [0, 3π] × [0, π] , (x, y) ∈ [−2, 2] × [−2, 2]
y4 x 24 )e ,
z = ln(x + 4y 2 ), z=e
−4x2 −y 2 x2 2
z = (1 − z = −10
+
|xy|,
(x, y) ∈ [−5, 5] × [−5, 5]
1
(h)
z=
xy
x2 − y 2 x2 + y 2 0
gdy gdy
x2 + y 2 > 0 x=y=0 − 10( x − x3 − y 5 )e−x 5
2
(i) (j)
z = −10x3 y 2 , z = 3(1 − x) e
(x, y) ∈ [−5, 5] × [−5, 5]
−y 2
2 −x2 −(y+1)2
− 1 e−(x+1) 3
2
−y 2
,
(x, y) ∈ [−3, 3] × [−3, 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
kolorów (zmienia si¦ je poleceniem
pcolor . Wypróbowa¢ colormap ).
jego dziaªanie, testuj¡c równocze±nie ró»ne palety
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 czerwono, ni»ej na »óªto, itd.). Wskazówka: W tym celu trzeba równocze±nie u»y¢ funkcji
pcolor ,
jak równie» pozby¢ sie instrukcj¡
shading flat
siatki rysowanej przez
pcolor .
contour
i
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 rysuj¡c wykresy funkcji z zad. 2. 6. Efekt o±wietlenia powierzchni uzyskuje si¦ poprzez zastosowanie funkcji na przykªadzie sekwencji polece«
surf i mesh
s¡
surfc i meshz . Prosz¦ przetestowa¢ ich dziaªanie surfl . Sprawdzi¢ jej dziaªanie
>> >> >> >> >>
[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 mesh
narysowa¢ powierzchnie okre±lone nast¦puj¡cymi równaniami parame-
8. Przy pomocy polecenia trycznymi: (a)
(s, t, s − t)
2
(b) (c) (d) (e) (f ) (g) (h)
(t + 1, s, s − t) (s + t, s − t, s2 + t2 ) (s2 − t2 , 2st, s2 + t2 ) (s + t, s − t, st) (s, t, t3 − 3s2 t) (sin s cos t, sin s sin t, sin s), (cos s, sin s, t) (s, t) ∈ [0, π] × [0, 2π]
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 . mesh),
10. Gdy rysuje si¦ kolejno dwa wykresy (np. poleceniem
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
Matlab 5
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 krzy-
wych danych nast¦puj¡cymi równaniami parametrycznymi: (a) (b) (c) (d)
(tn , t, t), (t , t, t )
2 3
n = 1, 2, 3
(sin t, cos t, t) (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) mesh(Z) wywoªaniem surf(Z) ? (zob. colormap )?
[−8, 8]
(podobnie na osi
Wyja±ni¢ znaczenie ka»dej z tych instrukcji. Jak¡ rol¦ peªni w czwartym poleceniu zmienna otrzyma si¦ po zast¡pieniu wywoªania u»ywan¡ przez to ostatnie polecenie
eps?
Co
Jak zmieni¢ palet¦ kolorów
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
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 j¡c kolejno
view. Przetestowa¢ jego dziaªanie wprowadzaview(-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) (b) (c) (d) (e) (f ) (g)
z = x + 2y − 2, z =x +y , sin(xy),
2 2 2
(x, y) ∈ [−2, 2] × [−2, 2]
(x, y) ∈ [−2, 2] × [−2, 2] (x, y) ∈ [−2, 2] × [−2, 2] (x, y) ∈ [10, 20] × [−10, 10]
(x, y) ∈ [0, 3π] × [0, π] , (x, y) ∈ [−2, 2] × [−2, 2]
y4 x 24 )e ,
z = ln(x + 4y 2 ), z=e
−4x2 −y 2 x2 2
z = (1 − z = −10
+
|xy|,
(x, y) ∈ [−5, 5] × [−5, 5]
1
(h)
z=
xy
x2 − y 2 x2 + y 2 0
gdy gdy
x2 + y 2 > 0 x=y=0 − 10( x − x3 − y 5 )e−x 5
2
(i) (j)
z = −10x3 y 2 , z = 3(1 − x) e
(x, y) ∈ [−5, 5] × [−5, 5]
−y 2
2 −x2 −(y+1)2
− 1 e−(x+1) 3
2
−y 2
,
(x, y) ∈ [−3, 3] × [−3, 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
kolorów (zmienia si¦ je poleceniem
pcolor . Wypróbowa¢ colormap ).
jego dziaªanie, testuj¡c równocze±nie ró»ne palety
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 czerwono, ni»ej na »óªto, itd.). Wskazówka: W tym celu trzeba równocze±nie u»y¢ funkcji
pcolor ,
jak równie» pozby¢ sie instrukcj¡
shading flat
siatki rysowanej przez
pcolor .
contour
i
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 rysuj¡c wykresy funkcji z zad. 2. 6. Efekt o±wietlenia powierzchni uzyskuje si¦ poprzez zastosowanie funkcji na przykªadzie sekwencji polece«
surf i mesh
s¡
surfc i meshz . Prosz¦ przetestowa¢ ich dziaªanie surfl . Sprawdzi¢ jej dziaªanie
>> >> >> >> >>
[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 mesh
narysowa¢ powierzchnie okre±lone nast¦puj¡cymi równaniami parame-
8. Przy pomocy polecenia trycznymi: (a)
(s, t, s − t)
2
(b) (c) (d) (e) (f ) (g) (h)
(t + 1, s, s − t) (s + t, s − t, s2 + t2 ) (s2 − t2 , 2st, s2 + t2 ) (s + t, s − t, st) (s, t, t3 − 3s2 t) (sin s cos t, sin s sin t, sin s), (cos s, sin s, t) (s, t) ∈ [0, π] × [0, 2π]
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 . mesh),
10. Gdy rysuje si¦ kolejno dwa wykresy (np. poleceniem
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