131
§å thÞ bÒ mÆt cña cïng mét ma trËn Z tr«ng nh ®å thÞ líi tríc ®ã, ngo¹i trõ kho¶ng c¸ch gi÷a
hai ®êng lµ kh¸c nhau (gäi lµ patchs). §å thÞ lo¹i nµy dïng hµm
surf,
nã cã tÊt c¶ c¸c ®èi sè nh hµm
mesh
. H·y xem vÝ dô díi ®©y (H×nh 18.4):
>> surf(X,Y,Z)
H×nh 18.4
§Ó lµm thªm mét i chñ ®Ò, chóng ta cïng quay l¹i hµm
peaks
®· ®a ra ë phÇn tríc. §å thÞ
líi trong kh«ng gian 3 chiÒu cña hµm nµy ®îc ®a ra nh sau (h×nh 18.5):
>> mesh(peaks)
>> title('Mesh Plot of Peaks function')
H×nh 18.5
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com
132
§å thÞ ®êng viÒn cho ta thÊy ®îc ®é n©ng hoÆc ®é cao cña h×nh. Trong MATLAB ®å thÞ ®êng
viÒn trong kh«ng gian hai chiÒu t¬ng tù nh trong kh«ng gian ba chiÒu nhng hµm gäi cña nã lµ
contour3. §å thÞ sö dông c¸c lÖnh sÏ ®îc minh ho¹ trong b¶ng kh¾c mµu.
18.3 Thao t¸c víi ®å thÞ
MATLAB cho phÐp b¹n khai b¸o gãc ®Ó tõ ®ã quan s¸t ®îc ®å thÞ trong kh«ng gian ba chiÒu.
Hµm
view(azimuth, elevation )
thiÕt lËp gãc xem b»ng viÖc khai b¸o
azimuth
elevation
. “Elevation
“ m« t¶ vÞ trÝ ngêi quan s¸t, xem nh lµ gãc ®o b»ng ®é trªn hÖ trôc x-y. ”Azimut m« t¶ gãc trong hÖ
trôc n¬i ngêi quan s¸t ®øng.
Azimuth
®îc ®o b»ng ®é tõ phÇn ©m trôc y. PhÝa ©m trôc y cã thÓ quay theo chiÒu kim ®ång hå
mét gãc -37.5 ®é tõ phÝa b¹n.
Elevation
lµ gãc mµ t¹i ®ã m¾t b¹n thÊy ®îc mÆt ph¼ng x-y. Sö dông
hµm
view
cho phÐp b¹n cã thÓ quan s¸t h×nh vÏ tõ c¸c gãc ®é kh¸c nhau. VÝ dô nÕu
elevation
thiÕt lËp
lµ ©m, th×
view
sÏ nh×n h×nh tõ phÝa díi lªn. NÕu
azimuth
thiÕt lËp d¬ng, th× h×nh sÏ quay ngîc
chiÒu kim ®ång hå tõ ®iÓm nh×n mÆc ®Þnh.ThËm chÝ b¹n cã thÓ nh×n trùc tiÕp tõ trªn b»ng c¸ch thiÕt
lËp
view(0,90 )
. Thùc ra th× ®©y lµ ®iÓm nh×n mÆc ®Þnh 2 chiÒu, trong ®ã x t¨ng tõ tr¸i qua ph¶i, vµ y
t¨ng tõ trªn xuèng díi, khu«n d¹ng
view(2)
hoµn toµn gièng nh mÆc
®Þnh cña
view(0, 90 )
, vµ
view(3)
thiÕt lËp mÆc ®Þnh trong kh«ng gian 3 chiÒu.
LÖnh
view
cã mét d¹ng kh¸c mµ rÊt tiÖn Ých khi sö dông lµ
view([X,Y,Z ])
cho phÐp b¹n quan s¸t
trªn mét vector chøa hÖ trôc to¹ ®é decac trong kh«ng gian 3 chiÒu. Kho¶ng c¸ch tõ vÞ trÝ b¹n quan
s¸t ®Õn gèc to¹ ®é kh«ng bÞ ¶nh hëng. VÝ dô,
view([0 10 0 ])
,
view([0 -1 0 ])
view(0, 0 )
cho
c¸c kÕt qu¶ nh nhau. C¸c th«ng sè
azimuth
elevation
mµ b¹n ®ang quan s¸t cã thÓ lÊy l¹i ®îc
b»ng c¸ch dïng
[az, e] = view
. VÝdô:
>> view([-7 -9 7])
>> [az,el] = view
az =
-37.8750
el =
31.5475
Mét c«ng cô h÷u dông kh¸c lµ quan s¸t ®å thÞ kh«ng gian 3 chiÒu bëi hµm
rotate3d.
C¸c th«ng sè
Azimtuh
elevation
cã thÓ ®îc t¸c ®éng bëi chuét,
rotate3d on
cho phÐp chuét can thiÖp,
rotate3d
off
kh«ng cho phÐp.
LÖnh
hidden
dÊu c¸c nÐt khuÊt. Khi b¹n vÏ ®å thÞ, th× mét sè phÇn cña nã bÞ che khuÊt bëi c¸c
phÇn kh¸c, khi ®ã nÕu dïng lÖnh nµy th× c¸c nÐt khuÊt sÏ bÞ dÊu ®i, b¹n chØ cã thÓ nh×n phÇn nµo ë
trong tÇm nh×n cña b¹n. NÕu b¹n chuyÓn ®Õn
hidden off
, b¹n cã thÓ thÊy phÇn khuÊt ®ã qua m¹ng
líi. Díi ®©y lµ vÝ dô:
>> mesh(peaks(20)+7)
>> hold on
>> pcolor(peaks(20))
>> hold off
>> title('Mesh with hiden on')
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com
133
H×nh 18.8
B©y giê h·y bá chÕ ®é dÊu c¸c nÐt khuÊt ®i ta sÏ thÊy sù kh¸c nhau:
>> hidden off
>> title('Mesh with Hidden Off ')
H×nh 18.9
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com
134
18.4 C¸c ®Æc ®iÓm kh¸c cña ®å thÞ trong kh«ng gian 3 chiÒu
Hµm
ribbon(x, y )
t¬ng tù nh
plot(x, y )
ngo¹i trõ cét cña y ®îc vÏ nh lµ mét d¶i riªng biÖt
trong kh«ng gian ba chiÒu. Díi ®©y lµ ®å thÞ h×nh sine:
>> x=linspace(0,10,50);
>> y=sin(pi*x);
>> ribbon(y,x)
H×nh 18.10
Hµm
clabel
t¨ng thªm ®é cao cho ®å thÞ ®êng viÒn. Cã ba mÉu
clabel(cs)
,
clabel(cs, V )
clabel( cs, manual)
.
clabel(cs)
, trong ®ã
cs
lµ cÊu tróc ®êng viÒn ®îc tr¶ vÒ tõ lÖnh
contour
,
cs=contour(z)
, lÊy nh·n tÊt c¶ c¸c ®å thÞ ®êng viÒn víi ®é cao cña nã. VÞ trÝ cña nh·n ®îc lÊy
ngÉu nhiªn.
clabel (c, manual)
®Þnh vÞ nh·n ®êng viÒn ë vÞ trÝ kÝch chuét t¬ng tù nh lÖnh
ginput
®· nãi ë trªn. NhÊn phÝm Return kÕt thóc viÖc t¹o nh·n nµy.
Hµm
contourf
sÏ vÏ mét ®å thÞ ®êng viÒn kÝn, kh«ng gian gi÷a ®êng viÒn ®îc lÊp ®Çy b»ng
mµu.
Hai mÉu tr¹ng th¸i cña lÖnh
mesh
dïng víi ®å thÞ líi lµ:
meshc
vÏ ®å thÞ líi vµ thªm ®êng viÒn
bªn díi,
meshz
vÏ ®å thÞ líi vµ ®å thÞ cã d¹ng nh mµn che.
Hµm
waterfall
®îc xem nh
mesh
ngo¹i trõ mét ®iÒu lµ hµm
mesh
chØ xuÊt hiÖn ë híng x.
Cã hai mÉu tr¹ng th¸i cña lÖnh
surf
, ®ã lµ
surfc
vÏ mét ®å thÞ
surf
vµ thªm ®êng bao bªn díi,
surflvex
vÏ mét ®å thÞ
surf
nhng thªm vµo sù chiÕu s¸ng bÒ mÆt tõ nguån s¸ng. CÊu tróc tæng
qu¸t lµ
surfl( X,Y, Z, S, K )
trong ®ã X, Y,vµ Z t¬ng tù nh
surf
, S lµ mét vector tuú chän trong
hÖ to¹ ®é decac (S=[Sx Sy Sz]) hoÆc trong to¹ ®é cÇu (S=[az,el]) chØ ra híng cña
nguån s¸ng. NÕu kh«ng khai b¸o, gi¸ trÞ mÆc ®Þnh cña S lµ 45 ®é theo chiÒu kim ®ång hå tõ vÞ trÝ
ngêi quan s¸t, S lµ mét vector tuú chän chØ ra phÇn ®ãng gãp tuú thuéc vµo nguån s¸ng bao
quanh, sù ph¶n chiÕu ¸nh s¸ng vµ hÖ sè ph¶n chiÕu (K=[ka,kd,ks,spread]).
>> colormap(gray)
>> surfl(peaks)
>> title('surf1 plot of peaks with default lighting')
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com
135
H×nh 18.11
fill3
, phiªn b¶n 3 chiÒu cña
fill
, vÏ mét ®a gi¸c ®Òu trong kh«ng gian ba chiÒu. Khu«n d¹ng tæng
qu¸t cña nã lµ
fill3(x, y, z, c)
, trong ®ã chiÒu ®øng cña ®a gi¸c ®îc chØ bëi ba thµnh phÇn x, y, z.
NÕu c lµ mét kÝ tù, ®a gi¸c sÏ ®îc lÊp ®Çy mµu nh ë b¶ng mµu. c còng cã thÓ lµ mét vector hµng
cã 3 thµnh phÇn ([r g b]) trong ®ã r, g vµ b lµ c¸c gi¸ trÞ gi÷a 0 vµ 1 thay cho c¸c mµu ®á,
xanh l¸ c©y vµ xanh da trêi. NÕu c lµ mét vector hoÆc ma trËn, nã ®îc sö dông nh mét chØ sè
chØ ra s¬ ®å mµu. NhiÒu ®a gi¸c cã thÓ ®îc t¹o ra b»ng c¸ch cho thªm nhiÒu ®èi sè nh
fill3 (x1,
y1, z1,c1, x2, y2, z2, c2, ....)
. VÝ dô sau sÏ vÏ ngÉu nhiªn 4 tam gi¸c víi mµu:
>> color(cool)
>> fill3(rand(3,4),rand(3,4),rand(3,4),rand(3,4))
bar3
bar3h
lµ phiªn b¶n 3 chiÒu cña
bar
vµ
barh
,
bie3
lµ phiªn ban cña
pie.
18.5 B¶ng mµu
Mµu vµ biÓu ®å mµu ®îc ®Ò cËp ®Õn trong mét sè vÝ dô ë phÇn tríc. Trong phÇn nµy chóng ta sÏ
nãi râ vÒ chóng. MATLAB ®Þnh nghÜa mét biÓu ®å mµu nh lµ mét ma trËn cã 3 cét. Mçi hµng cña
ma trËn ®Þnh nghÜa mét mµu riªng biÖt sö dông c¸c sè trong d¶i 0 vµ 1. Nh÷ng sè nµy chØ ra c¸c gi¸ trÞ
RGB, ®é nh¹y cña c¸c mµu thµnh phÇn ®á, xanh l¸ c©y, vµ xanh da trêi trong mét mµu do c¸c thµnh
phÇn ®ã t¹o ra. Mét sè mÉu c¬ b¶n ®îc cho trong b¶ng díi ®©y:
§á Xanh l¸ c©y Xanh da trêi mµu
0 0 0 ®en
1 1 1 tr¾ng
1 0 0 ®á
0 1 0 xanh l¸ c©y
0 0 1 xanh da trêi
1 1 0 vµng
Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com