MATLAB view函式詳解
阿新 • • 發佈:2019-01-10
MATLAB提供了設定視點的函式view。其呼叫格式為:
view(az,el)
az是azimuth(方位角)的縮寫,EL是elevation(仰角)的縮寫。它們均以度為單位。系統預設的視點定義為方位角-37.5°,仰角30°。
當x軸平行觀察者身體,y軸垂直於觀察者身體時,az=0; 以此點為起點,繞著z軸順時針運動,az為正,逆時針為負。
EL 為觀察者眼睛與xy平面形成的角度。
當觀察者的眼睛在xy平面上時,el=0; 向上el為正,向下為負;
下面是一些例子:
AZ = -37.5, EL = 30 是預設的三維視角.
AZ = 0, EL = 90 是2維視角,從圖形正上方向下看,顯示的是xy平面.
AZ = EL = 0 看到的是xz平面.
AZ = 180,EL=0 是從背面看到的xz平面.
VIEW(2) 設定預設的二維視角, AZ = 0, EL = 90.
VIEW(3) 設定預設的三維視角, AZ = -37.5, EL = 30.
VIEW([X Y Z]) 設定Cartesian座標系的視角,[X Y Z]向量的長度大小被忽略.
[AZ,EL] = VIEW 返回當前的方位角和仰角.
例子1:從不同視點繪製多峰函式曲面
subplot(2,2,1);mesh(peaks);
view(-37.5,30); %指定子圖1的視點
title('azimuth=-37.5,elevation=30')
subplot(2,2,2);mesh(peaks);
view(0,90); %指定子圖2的視點
title('azimuth=0,elevation=90')
subplot(2,2,3);mesh(peaks);
view(90,0); %指定子圖3的視點
title('azimuth=90,elevation=0')
subplot(2,2,4);mesh(peaks);
view(-7,-10); %指定子圖4的視點
title('azimuth=-7,elevation=-10')
例子2:旋轉觀察多峰函式曲面
mesh(peaks); %繪製多峰函式
el=30; %設定仰角為30度。
for az=0:1:360 %讓方位角從0變到360,繞z軸一週
view(az,el);
drawnow;
end
az= 0; %設定方位角為0
for el=0:1:360 %仰角從0變到360
view(az,el);
drawnow;
end
view(az,el)
az是azimuth(方位角)的縮寫,EL是elevation(仰角)的縮寫。它們均以度為單位。系統預設的視點定義為方位角-37.5°,仰角30°。
當x軸平行觀察者身體,y軸垂直於觀察者身體時,az=0; 以此點為起點,繞著z軸順時針運動,az為正,逆時針為負。
EL 為觀察者眼睛與xy平面形成的角度。
當觀察者的眼睛在xy平面上時,el=0; 向上el為正,向下為負;
下面是一些例子:
AZ = -37.5, EL = 30 是預設的三維視角.
AZ = 0, EL = 90 是2維視角,從圖形正上方向下看,顯示的是xy平面.
AZ = EL = 0 看到的是xz平面.
AZ = 180,EL=0 是從背面看到的xz平面.
VIEW(2) 設定預設的二維視角, AZ = 0, EL = 90.
VIEW(3) 設定預設的三維視角, AZ = -37.5, EL = 30.
VIEW([X Y Z]) 設定Cartesian座標系的視角,[X Y Z]向量的長度大小被忽略.
[AZ,EL] = VIEW 返回當前的方位角和仰角.
例子1:從不同視點繪製多峰函式曲面
subplot(2,2,1);mesh(peaks);
view(-37.5,30); %指定子圖1的視點
title('azimuth=-37.5,elevation=30')
subplot(2,2,2);mesh(peaks);
view(0,90); %指定子圖2的視點
title('azimuth=0,elevation=90')
subplot(2,2,3);mesh(peaks);
view(90,0); %指定子圖3的視點
title('azimuth=90,elevation=0')
subplot(2,2,4);mesh(peaks);
view(-7,-10); %指定子圖4的視點
title('azimuth=-7,elevation=-10')
例子2:旋轉觀察多峰函式曲面
mesh(peaks); %繪製多峰函式
el=30; %設定仰角為30度。
for az=0:1:360 %讓方位角從0變到360,繞z軸一週
view(az,el);
drawnow;
end
az= 0; %設定方位角為0
for el=0:1:360 %仰角從0變到360
view(az,el);
drawnow;
end