05 grafika

background image

Grafika w programie

MATLAB

dr inż. Henryk Olszewski

background image

2

Grafika

Funkcje graficzne programu MATLAB:

tworzenie wykresów dwuwymiarowych,

tworzenie wykresów trójwymiarowych,

wyświetlanie wykresów ciągłych i dyskretnych,

tworzenie grafiki wektorowej i rastrowej.

background image

3

Wykresy 2D

Funkcja plot umożliwia wykreślania danych przechowywanych we wektorach.
Powyższa funkcja generuje dwuwymiarową krzywą złożoną z punktów:

których współrzędne zostały określone we wektorach x i y. Wektory te muszą być
równej długości.

Sposoby wywoływania funkcji plot:

rysowanie wykresu elementów wektora y względem elementów wektora x;
jeśli jeden z argumentów jest macierzą, a drugi wektorem, ciąg elementów
wektora jest rysowany względem wierszy lub kolumn macierzy:

» plot(x,y)

rysowanie wykresu elementów wektora y, przyjmując x=1:length(y):

» plot(y)

i

i

y

,

x

background image

4

Wykresy 2D

Sposoby wywoływania funkcji plot:

rysowanie wykresu y(x) z określeniem wyglądu linii; s - łańcuch znaków zawierający
kody wyglądu linii:

» plot(x,y,s)

rysowanie w jednym oknie wielu wykresów: y1(x1), y2(x2) itd.:

» plot(x1,y1,x2,y2,...)

rysowanie w jednym oknie wielu wykresów z określeniem wyglądu linii każdego z nich:

» plot(x1,y1,s1,x2,y2,s2,...)

Łańcuchy znaków określające sposób rysowania linii mogą zawierać symbole odnoszące się do:

rodzaju linii,

rodzaju markera,

koloru linii.

background image

5

Wykresy 2D

Symbole określające rodzaj linii:

‘-’

linia ciągła

‘--’

linia kreskowana

‘:’

linia kropkowana

‘-.’

linia kreska-kropka (oś symetrii)

Symbole określające kolor linii:

‘y’

kolor żółty

‘m’

kolor karmazynowy

‘c’

kolor turkusowy

‘r’

kolor czerwony

‘g’

kolor zielony

background image

6

Wykresy 2D

Symbole określające kolor linii:

‘b’

kolor niebieski

‘w’

kolor biały

‘k’

kolor czarny

Symbole określające rodzaj markera punktu wykresu:

‘+’

krzyżyk

‘*’

gwiazdka

‘.’

kropka

‘o’

kółko

‘x’

iks

‘s’

kwadrat

background image

7

Wykresy 2D

Symbole określające rodzaj markera punktu wykresu:

‘d’

romb

‘p’

gwiazdka pięcioramienna

‘h’

gwiazdka sześcioramienna

‘v’

trójkąt skierowany w dół

‘^’

trójkąt skierowany w górę

‘<’

trójkąt skierowany w lewo

‘>’

trójkąt skierowany w prawo

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

8

Funkcja linspace

W generowaniu danych do wykresów pomocna jest funkcja linspace:

» linspace(x1,x2,N)

tworząca wektor wierszowy N liczb rozłożonych równomiernie w
przedziel od x1 do x2.

Polecenie:

» linspace(x1,x2)

generuje domyślnie 100 liczb z przedziału od x1 do x2.

background image

9

Wykresy 2D

Funkcja plot spełnia różne funkcje w zależności od liczby
argumentów. Jeżeli y jest wektorem, to polecenie plot(y)
generuje wykres liniowy elementów wektora y w funkcji indeksu
elementów. Jeżeli określimy dwa wektory argumentów, to
polecenie plot(x,y) wyświetla wektor y w funkcji x.

Np. w celu wyświetlenia wykresu funkcji sinus w

przedziale od zera do 2 należy:

» t = 0:pi/100:2*pi;
» y = sin(t);
» plot(t,y)

0

1

2

3

4

5

6

7

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

10

Wykresy 2D

W programie MATLAB istnieje możliwość wyświetlenia na jednym
wykresie kilku przebiegów x-y. MATLAB automatycznie będzie
przyporządkowywał kolejnym przebiegom kolory (z domyślnej listy
kolorów, którą użytkownik może zmieniać), dzięki czemu istnieje
możliwość odróżnienia od siebie poszczególnych zbiorów danych.  
 

»

y2 = sin(t-.25);

»

y3 = sin(t-.5);

»

plot(t,y,t,y2,t,y3)

0

1

2

3

4

5

6

7

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

11

Wykresy 2D

Istnieje również możliwość zdefiniowania koloru, rodzaju linii oraz markerów w

poszczególnych punktach definiujących wykres:

 

»

plot(x,y,'color_style_marker')

  color_style_marker jest to 1-, 2- lub 3-znakowy łańcuch (ograniczony apostrofami)

definiujący kolor, rodzaj linii oraz rodzaj markerów:

• Kolory linii są określane znakami: 'c', 'm', 'y', 'r', 'g', 'b', 'w' i 'k', które oznaczają: cyan – jasno

niebieski, magenta – fioletowy, yellow –żółty, red – czerwony, green – zielony, blue
niebieski, white – biały, black – czarny.

• Rodzaje linii są określone znakami: '-' linia ciągła, '- -' linia kreskowa, ':' linia kropkowa,

'-.' linia osi symetrii i 'none' jeżeli żadna linia nie ma być rysowana.

• Najczęściej używanymi markerami w punktach definiujących wykres są: '+', 'o', '*' i 'x'.

Przykład:

»

plot(x,y,'y:+')

background image

12

Wykresy 2D

W programie MATLAB oprócz wykresów liniowych można wykonywać wykresy
słupkowe, schodkowe, liniowe z naniesionymi zakresami błędów w
poszczególnych punktach pomiarowych, biegunowe.
 
Wykres liniowy:

»

x=0:0.05:5

»

y=sin(x.^2)

»

plot(x,y)

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

13

Wykresy 2D

Wykres słupkowy:

»

x = -2.9:0.2:2.9

»

bar(x,exp(-x.*x))

-3

-2

-1

0

1

2

3

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

background image

14

Wykresy 2D

Wykres schodkowy:

»

x=0:0.25:10

»

stairs(x,sin(x))

0

1

2

3

4

5

6

7

8

9

10

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

15

Wykresy 2D

Wykres liniowy z naniesionymi zakresami błędów w punktach
danych:

»

x=-2:0.1:2

»

y=erf(x)

»

e=rand(size(x))/10

»

errorbar(x,y,e)

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

-1.5

-1

-0.5

0

0.5

1

1.5

background image

16

Wykresy 2D

Wykres biegunowy:
Rysowanie wykresów w biegunowym układzie współrzędnych (Θ, r) służy funkcja:

»

polar(theta,r,s)

gdzie:

theta - wektor katów (w radianach) dla poszczególnych punktów,
r - wektor odległości punktów od początku układu współrzędnych.

Argument s jest argumentem opcjonalnym, określającym wygląd rysowanej linii
(tak, jak w przypadku funkcji plot).

0.1

0.2

0.3

0.4

0.5

30

210

60

240

90

270

120

300

150

330

180

0

background image

17

Wykresy 2D

Wykres biegunowy:

»

t=0:.01:2*pi

»

polar(t,abs(sin(2*t).*cos(2*t)))

0.1

0.2

0.3

0.4

0.5

30

210

60

240

90

270

120

300

150

330

180

0

background image

18

Wykresy 2D

Wykres w skali logarytmicznej:
Funkcje rysujące wykresy w skali logarytmicznej:

wyświetlenie wykresu ze skalą logarytmiczną na obu osiach:

»

loglog(x,y,s)

wyświetlenie wykresu ze skalą logarytmiczną na osi x:

»

semilogx(x,y,s)

wyświetlenie wykresu ze skalą logarytmiczną na osi y:

»

semilogy(x,y,s)

Funkcja logspace generuje wektor wierszowy N liczb rozmieszczonych logarytmicznie między wartościami 10

x1

a

10

x2

:

»

logspace(x1,x2,N)

Wywołanie funkcji bez argumentu N pozwala na wygenerowanie wektora wierszowego 50 liczb.

background image

19

Funkcja erf

Funkcja erf oblicza funkcję błędu. Polecenie:

»

y = erf(x)

znajduje funkcję błędu dla każdego elementu wektora x. Wektor x musi być
wektorem rzeczywistym. Funkcja błędu zdefiniowana jest jako:
 

x

t

dt

e

x

erf

0

2

2

)

(

background image

20

Wykresy zmiennych zespolonych

Funkcje rysujące wykresy danych zespolonych:

wyświetlenie wykresu Im(z)=f(Re(z)) - jeżeli z jest macierzą o elementach zespolonych,
równoważne poleceniu: plot(real(z),imag(z),s):

»

plot(z,s)

wyświetlenie wykresu, na którym elementy macierzy zespolonej z są przedstawione w postaci
strzałek o wspólnym początku i grotach w punktach opisanych przez współrzędne x=real(z),
y=imag(z); x i y są współrzędnymi kartezjańskimi, wykres jest rysowany w biegunowym układzie
współrzędnych:

»

compass(z,s)

lub

»

compass(x,y,s)

wyświetlenie wykresu, na którym elementy macierzy zespolonej z są przedstawione w postaci
strzałek o początkach rozmieszczonych równomiernie na osi x; długość strzałek są równe
modułom elementów macierzy z, a kąty nachylenia strzałek - ich argumentom:

»

feather(z,s)

lub

»

feather(x,y,s)

background image

21

Wykresy zmiennych zespolonych

W przypadku, gdy argumenty funkcji plot są zespolone, część urojona jest pomijana z wyjątkiem przypadku,
gdy funkcja plot posiada tylko jeden argument. W tym przypadku polecenie to generuje wykres części
rzeczywistej w funkcji części zespolonej. Stąd polecenie:

»

plot(Z)

gdzie: Z jest zespolonym wektorem lub macierzą jest równoważne poleceniu:

»

plot(real(Z),imag(Z))

Np. polecenia:

»

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

»

plot(exp(i*t),'-o')

background image

22

Wykresy zmiennych zespolonych

wyświetlają 20-węzłowy wielokąt z wierzchołkami oznaczonymi
markerami „o”:

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

23

Skalowanie i nakładanie wykresów

Wyświetlanie wykresu w oknie graficznym powoduje jednoczesne wyczyszczenie okna i usunięcie
poprzedniego rysunku
.

Funkcja hold pozwala na dodanie wykresu do znajdującego się w oknie rysunkowym. generalnie do
przeskalowania wykresu i zmiany jego orientacji. Polecenie:

»

hold on/off

wyłącza - on lub włącza - of tryb czyszczenia ekranu. Sprawdzenie stanu przełącznika hold umożliwia
funkcja ishold, która zwraca wartość 1, gdy jest on aktywny (hold on) lub 0 w przeciwnym
przypadku.

Zakres osi program MATLAB wybiera automatycznie na podstawie zakresu danych tak, aby wszystkie
wartości (od najmniejszej do największej) zostały wyświetlone. Zmianę wyglądu osi pozwala funkcja
axis.

background image

24

Skalowanie i nakładanie wykresów

Wywołania funkcji axis:

ustawienie zakresu osi x i y:

» axis([xmin xmax ymin ymax])

włączenie trybu automatycznego ustawienia zakresu osi:

» axis auto

włączenie trybu automatycznego ustawienia zakresu osi; po włączeniu przełącznika hold wszystkie kolejne
wykresy będą rysowane w tym samym układzie współrzędnych:

» axis manual

zmiana układu współrzędnych na macierzowy, z początkiem układu współrzędnych w lewy górnym rogu:

» axis ij

zmiana układu współrzędnych na kartezjański (domyślny):

background image

25

Skalowanie i nakładanie wykresów

Wywołania funkcji axis:

zmiana układu współrzędnych na kartezjański (domyślny):

» axis xy

zmiana skalowania osi w taki sposób, aby jednostka na podziałce miała ten sam rozmiar na wszystkich osiach:

» axis equal

zmiana rozmiaru osi na takie same, jak rozmiary wykresu:

» axis image

ustawienie jednakowego rozmiaru wszystkich osi:

» axis square

przywrócenie standardowego ustawienia rozmiaru osi:

» axis normal

background image

26

Skalowanie i nakładanie wykresów

Wywołania funkcji axis:

ukrycie osi wraz z ich opisem:

» axis off

przywrócenie wyświetlenia osi:

» axis on

zwrócenie aktualnego ustawienia układu współrzędnych: s1 - auto lub manual, s2 - on lub
of (osie wyświetlane lub nie), s3 - xy lub ij:

» [s1,s2,s3]=axis(‘state’)

zwrócenie wektora wierszowego v=[xmin xmax ymin ymax]:

» v=axis

background image

27

Skalowanie i nakładanie wykresów

Funkcja axis służy generalnie do przeskalowania wykresu i zmiany jego orientacji. Program MATLAB
automatycznie znajduje wartości maksymalne i minimalne wyświetlanych danych i na ich podstawie
przyjmuje okno wyświetlania wykresu oraz etykiety osi. Funkcja axis pozwala na ingerencję użytkownika
w ten proces:
 

»

axis([xmin xmax ymin ymax])

 
W przypadku funkcji axis istnieje również szereg predefiniowanych zmiennych ułatwiających kontrolę nad
osiami wykresu. Np. w wyniku polecenia:

»

axis square

osie x i y mają tę samą długość, zaś polecenie:

»

axis equal

powoduje, że poszczególne przyrosty zmiennych na osiach x i y są tej samej długości.

background image

28

Skalowanie i nakładanie wykresów

Stąd polecenie:

»

plot(exp(i*t))

poprzedzone przez axis square lub axis equal spowoduje wyświetlenie figury zbliżonej do okręgu.

Polecenie:

»

axis auto

umożliwia powrót do automatycznego, domyślnego skalowania.

Polecenie:

»

axis on

przywraca wyświetlanie etykiet i skali osi, zaś polecenie:

»

axis off

wyłącza wyświetlanie etykiet i skali osi.

background image

29

Funkcja fplot

Funkcja plot umożliwia narysowanie dowolnej funkcji po zapisaniu jej argumentu w postaci wektora. Dokładność takiego rozwiązania jest uzależniona od sposobu dyskretyzacji zadanego
przedziału
. W celu narysowania możliwie najbardziej precyzyjnego wykresu funkcji należy skorzystać z funkcji fplot :

»

fplot(f,[x0,xk])

gdzie:

f - łańcuch znaków zawierający nazwę funkcji,
x0, xk - początek i koniec przedziału rysowanej funkcji.

Wywołanie funkcji:

»

fplot(f,[x0,xk])

generuje wektor argumentów x i wartości funkcji y. Wykres ten można następnie narysować przy pomocy polecenia:

»

plot(x,y)

 

background image

30

Opisywanie wykresów

Funkcje opisujące wykresy:

wyświetlenie łańcucha znaków tekst jako opisu osi x aktywnego wykresu:

» xlabel(tekst)

wyświetlenie łańcucha znaków tekst jako opisu osi y aktywnego wykresu:

» ylabel(tekst)

wyświetlenie łańcucha znaków tekst jako tytułu aktywnego wykresu:

» title(tekst)

wyświetlenie łańcucha znaków tekst w miejscu określonym przez współrzędne x i y:

» text(x,y,tekst)

wyświetlenie legendy; łańcuch znaków s1 jest opisem odnoszącym się do pierwszego
wykresu, s2 - do drugiego itd.:

» legend(s1,s2,...)

background image

31

Opisywanie wykresów

Funkcje opisujące wykresy:

włączenie/wyłączenie wyświetlania pomocniczej siatki
współrzędnych:

» grid on/off

-3

-2

-1

0

1

2

3

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-

t

si

n(

t)

Wykres funkcji sin

przebieg funkcji

przebieg funkcji

background image

32

Opisywanie wykresów

Funkcje xlabel, ylabel i zlabel wyświetlają etykiety osi x, y i z. Funkcja title dodaje nagłówek w
górnej części okna rysunkowego, zaś funkcja text wstawia tekst w dowolnym punkcie wykresu. Do tego
celu służy również polecenie gtext – tekst jest wstawiany w punkcie wskazanym przez użytkownika. Dzięki
notacji edytora T

e

X można wygenerować litery greckiego alfabetu, symbole matematyczne oraz wybrać

inne czcionki. Np. polecenie \leq generuje znak , \pi znak  zaś \it wybiera czcionkę pochyłą:

t = -pi:pi/100:pi;
y = sin(t);
plot(t,y)
axis([-pi pi -1 1])
xlabel('-\pi \leq \itt \leq \pi')
ylabel('sin(t)')
title(‘Wykres funkcji sin')
text(1,-1/3,'\it{przebieg funkcji}'); grid on
text(1,-1/3,'\it{przebieg funkcji}')

-3

-2

-1

0

1

2

3

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-

t

si

n(

t)

Wykres funkcji sin

przebieg funkcji

przebieg funkcji

background image

33

Opisywanie wykresów

-3

-2

-1

0

1

2

3

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

-

t

si

n(

t)

Wykres funkcji sin

przebieg funkcji

przebieg funkcji

background image

34

Wykresy 3D

Wyświetlenie linii

Funkcja plot3d umożliwia rysowanie wykresów funkcji trzech zmiennych. Polecenie:

» plot3(x,y,z,s)

wyświetla krzywą złożoną z punktów (x, y, z), których współrzędne zostały określone
w wektorach x, y i z. Wektory muszą być tej samej długości. Opcjonalny argument s
jest łańcuchem znaków określającym wygląd rysowanej linii.

Umieszczenie wiele wykresów w jednym oknie rysunkowym umożliwia polecenie:

» plot3(x1,y1,z1,s1,x2,y2,z2,s2,...)

background image

35

Wykresy 3D

Opisywanie wykresów

Wykresy trójwymiarowe są opisywane za pomocą tych samych funkcji co wykresy dwuwymiarowe.
Polecenie

» zlabel(tekst)

wyświetla łańcuch znaków tekst jako opis osi z aktywnego wykresu.

Polecenie

» zlabel(tekst)

wyświetla łańcuch znaków tekst w punkcie (x, y, z) wykresu.

Funkcja axis umożliwia zmianę zakresów trzech osi:

» axis([xmin xmax ymin ymax zmin zmax])

background image

36

Wykresy 3D

Wyświetlenie funkcji dwóch zmiennych

Powierzchnie w programie MATLAB rysowane są jako wykresy funkcji z=f(x,y), współrzędne punktów (x,y)
określone są za pomocą wektorów X i Y.

Wykres trójwymiarowy tworzymy na dwuwymiarowej płaszczyźnie ekranu, na początek należy
wygenerować siatkę na płaszczyźnie XY w tych węzłach, w których wyznaczane są wartości funkcji z. Do
tego celu służy funkcja meshgrid:

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

która transformuje obszar opisany przez wektory X i Y (z przestrzeni 3D) na dwie macierze x i y we
współrzędnych ekranowych 2D. Wydanie polecenia:

» [x,y] = meshgrid(X)

jest równoważne poleceniu:

» [x,y] = meshgrid(X,X)

background image

37

Wykresy 3D

Wyświetlenie funkcji dwóch zmiennych
W celu wyświetlenia funkcji dwóch zmiennych z = f (x,y), należy wygenerować dwie macierze X i Y
zawierające współrzędne wierszy i kolumn macierzy dziedziny funkcji. Powyższe macierze służą do
obliczenia i wyświetlenia funkcji. Funkcja meshgrid przekształca dziedzinę określoną poprzez pojedynczy
wektor lub dwa wektory x i y w macierze X i Y wykorzystywane w obliczeniach funkcji dwóch zmiennych.
Wiersze macierzy X są kopiami wektora x, zaś kolumny macierzy Y są kopiami wektora y.

W celu obliczenia dwuwymiarowej funkcji sinc, sin(r)/r, dwóch argumentów x i y należy wydać

następujące polecenia:
 

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

background image

38

Wykresy 3D

W powyższym przykładzie R jest odległością od początku układu współrzędnych, który
jest środkowym elementem macierzy. Dodanie elementu eps zabezpiecza przed
dzieleniem 0/0 w początku układu współrzędnych.

-10

-5

0

5

10

-10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

background image

39

-10

-5

0

5

10

-10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Wykresy 3D - przykłady

» surf(X,Y,Z)

background image

40

-10

-5

0

5

10

-10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Wykresy 3D - przykłady

» meshc(X,Y,Z)

background image

41

-10

-5

0

5

10

-10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Wykresy 3D - przykłady

» meshz(X,Y,Z)

background image

42

-10

-5

0

5

10

-10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Wykresy 3D - przykłady

» waterfall(X,Y,Z)

background image

43

-8

-6

-4

-2

0

2

4

6

8

-8

-6

-4

-2

0

2

4

6

8

Wykresy 3D - przykłady

» contour(X,Y,Z)

background image

44

Wykresy 3D - przykłady

» x = -2:.2:2; y = -1:.2:1;
»[xx,yy] = meshgrid(x,y);
» zz = xx.*exp(-xx.^2-yy.^2);
»[px,py] = gradient(zz,.2,.2);
» quiver(x,y,px,py,2);

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-1.5

-1

-0.5

0

0.5

1

1.5

background image

45

Wykresy 3D

Mapy kolorów

Mapa kolorów jest macierzą trójkolumnową, której elementami są liczby rzeczywiste z zakresu 0.01.0.

Każdy wiersz macierzy jest wektorem RGB (ang. read green blue) definiującym dany kolor za pomocą
intensywności trzech podstawowych kolorów: czerwonego, zielonego i niebieskiego. Funkcja
colormap pozwala na odczytanie i zmianę kolorów mapy kolorów przypisanej aktywnemu rysunkowi.
Polecenie:

» m=colormap

zwraca aktualną mapę kolorów m. Zmiana aktualnej mapy kolorów na mapę m następuje po wywołaniu
polecenia:

» colormap(m)

Standardową mapę kolorów przywraca polecenie:

» colormap(‘default’)

background image

46

Wykresy 3D

Mapy kolorów

mapa odcieni szarości:

» gray

mapa kolorów ciepłych - do czarnego, przez odcienie czerwonego, pomarańczowego i żółtego, aż do białego:

» hot

mapa kolorów zimnych - od turkusowego do karmazynowego:

» cool

mapa kolorów zmieniających się od czerwonego, przez pomarańczowy, do żółtego:

» autumn

mapa odcieni kolorów żółtego i zielonego:

» summer

background image

47

Wykresy 3D

Mapy kolorów

standardowa mapa kolorów w systemie HSV; każdy wiersz
macierzy zawiera 3 liczby z przedziału <0,1> opisujące
odcień, nasycenie i jaskrawość; odcień zmienia się od koloru
czerwonego, przez żółty, zielony, turkusowy, niebieski,
karmazynowy, z powrotem do czerwonego; nasycenie
zerowe oznacza, że kolory będą odcieniami szarości:

» hsv

background image

48

Wykresy 3D

Zmiana kierunku obserwacji wykresu

Funkcja view pozwala na zmianę kierunku, z którego oglądany jest aktywny układ współrzędnych. W poleceniu:

» view(az,el)

argumentu az i el oznaczają azymut i elewację (kąt podniesienia) położenia oka obserwatora.

Azymut jest kąt mierzony w płaszczyźnie XY, rosnący w kierunku przeciwnym do kierunku ruchu wskazówek
zegara.

Elewacja jest to kąt pomiędzy płaszczyzną XY a prostą łączącą oko obserwatora ze środkiem wykresu. Kąty
podawane są w stopniach.

Polecenie:

» view(2)

ustawia kierunek obserwacji tak, jak dla wykresów dwuwymiarowych: az=0º, el =90º.

background image

49

Wykresy 3D

Zmiana kierunku obserwacji wykresu

Polecenie:

» view(3)

ustawia standardowy kierunek obserwacji wykresów trójwymiarowych: az=37.5º, el
=30º
.

Polecenie:

» [az,el]=view

zwraca aktualne ustawienia azymutu i elewacji.

background image

50

Obrazy statyczne grafiki rastrowej

Program MATLAB umożliwia również wyświetlanie obrazów zapamiętanych w plikach graficznych
rastrowych
(formaty, np. JPG, BMP, TIFF, PCX) i definiowanie macierzy opisujących obrazy.
Zaawansowaną obróbkę obrazów umożliwia biblioteka Image Processing Toolbox.

Funkcje obsługujące obrazy:

wyświetlenie w aktywnym układzie współrzędnych obrazu opisanego macierzą c - każdemu
elementowi macierzy c odpowiada jeden punkt; elementy macierzy c są traktowane jako
indeksy kolorów w mapie kolorów; wygląd obrazu zależy od rodzaju użytej mapy kolorów;

» image(c)

skalowanie danych opisanych macierzą c do pełnego zakresu bieżącej mapy kolorów i
wyświetlenie obrazu

» imagesc(c)

background image

51

Obrazy statyczne grafiki rastrowej

Funkcje obsługujące obrazy:

wczytanie do macierzy A obrazu z pliku graficznego o nazwie określonej
łańcuchem znaków plik i we formacie f (np. ‘jpg’); domyślnie program
MATLAB poszukuje pliku plik.f w katalogu bieżącym - jeśli plik znajduje się
w innym katalogu, należy podać w nazwie ścieżkę dostępu:

» A=imread(plik,f)

zapisanie obrazu określonego macierzą A w pliku graficznym o podanej
nazwie we formacie f (tak, jak w przypadku funkcji imread):

» imwrite(A,plik,f)

background image

52

Zarządzanie oknami rysunkowymi

Grafika w programie MATLAB wyświetlana jest w oknach
rysunkowych
. Funkcje graficzne wyświetlają wyniki swoich
działań w otwartym oknie rysunkowym lub jeśli żadne okno nie
jest otwarte, automatycznie tworzą nowe.

Jednocześnie może być otwartych wiele okien. Jedno z nich jest
oknem aktywnym i do niego program MATLAB kieruje grafikę.
Domyślnie aktywne jest okno otwarte ostatnio.

Funkcja figure umożliwia tworzenie nowych okien. Każde nowe
okno otrzymuje kolejny numer, widoczny w jego nagłówku:
Figure No. 1”, „Figure No. 2”.

background image

53

Zarządzanie oknami rysunkowymi

background image

54

Zarządzanie oknami rysunkowymi

Funkcje wykonujące operacje na oknach rysunkowych:

tworzenie nowego okna rysunkowego i uaktywnianie jego:

» figure

uaktywnianie okna rysunkowego o numerze n (jeśli jest
otwarte) lub utworzenie nowego okna i przyporządkowanie
mu numeru n:

» figure(n)

zamykanie okna aktywnego:

» close

zamykanie okna o numerze n; argument funkcji może być
macierzą zawierającą numery zamykanych okien:

» close(n)

background image

55

Zarządzanie oknami rysunkowymi

Funkcje wykonujące operacje na oknach rysunkowych:

zamykanie wszystkich okien:

» close all

usuwanie zawartości aktywnego okna:

» clf

background image

56

Macierze rysunkowe

Funkcja subplot umożliwia wyświetlenie kilku wykresów w tym samym
oknie rysunkowym. Polecenie:

subplot(m,n,p)

dzieli okno rysunkowe na macierz o wymiarach m-n, której elementami
są okna poszczególnych wykresów, parametr p wybiera p-te okno
wykresu jako bieżące. Wykresy są numerowane wierszami, począwszy od
pierwszego wiersza znajdującego się u góry okna rysunkowego. W celu
wyświetlenia wykresów w czterech odrębnych oknach wykresów należy:

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

[X,Y,Z] = cylinder(4*cos(t));
subplot(2,2,1)
mesh(X)
subplot(2,2,2); mesh(Y)
subplot(2,2,3); mesh(Z)
subplot(2,2,4); mesh(X,Y,Z)

background image

57

Macierze rysunkowe

0

20

40

0

20

40

-5

0

5

0

20

40

0

20

40

-5

0

5

0

20

40

0

20

40

0

0.5

1

-5

0

5

-5

0

5

0

0.5

1

background image

58

Macierze rysunkowe

Inne wywołanie funkcji subplot:

subplot(‘Position’,[lewy dolny szerokość wysokość])

tworzy w obrębie aktywnego okna rysunkowego nowe
prostokątne okno o podanym położeniu i wymiarach. Położenie
jest podawane względem lewego dolnego wierzchołka okna.
Parametry

szerokość=wysokość=1

oznaczają

układ

o

rozmiarach rysunku.

0

20

40

0

20

40

-5

0

5

0

20

40

0

20

40

-5

0

5

0

20

40

0

20

40

0

0.5

1

-5

0

5

-5

0

5

0

0.5

1

background image

Dziękuję za uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
05 grafika
05 Aplety, grafika w Javie
2006 05 Krita–edytor grafiki bitmapowej [Grafika]
05 cwiczenie grafika
05 Aplety, grafika w Javie
Kopia Grafik 2011 05 09 05 15
05 Aplety, grafika w Javie
podrecznik 2 18 03 05
regul praw stan wyjątk 05
05 Badanie diagnostyczneid 5649 ppt
Podstawy zarządzania wykład rozdział 05
05 Odwzorowanie podstawowych obiektów rysunkowych
05 Instrukcje warunkoweid 5533 ppt
05 K5Z7
05 GEOLOGIA jezior iatr morza
05 IG 4id 5703 ppt

więcej podobnych podstron