4.8 视点控制
视角的变化和曲面的裁剪都是为了从不同角度反映图形的信息,下面分别进行简单的
介绍。
4.8.1 视角改变
两个图形,一个是以 30 度视角向下看 z=0 平面,一个是以 37.5 度视角向上看 x=0
平面。这是对所有三维图形的默认视角。与 z=0 平面所成的方向角叫做仰角,与 x=0 平
面的夹角叫做方位角。这样默认的三维视角方向仰角为 30 度,方位角为 37.5 度以。而默
认的二维视角仰角为 90 度,方位角为 0 度。
所谓视角,简单地讲就是观察(显示)图形的方向,调整视角可以使得一幅图显示出
来自不同方向的观察结果。在 matlab 中,函数 view 改变所有类型的二维和三维图形的
图形视角。它的基本调用格式如下所示。
view(az,el)或者为 view([az,el]):设置观察图形的视角;
view([vx,vy,vz]):通过直解坐标设置视点;
view(2):设置默认的二维视角;
view(3):设置默认的三维视角;
[az,el]=view:返回当前的视角;
上述命令中,az 是方位角 Azimuth,el 是视角 Elevation。单位均为度。vx,vy,vz
是视角的直角坐标。绘制三维图像时,若不使用 view 命令,那么 matlab 将使用默认视
角,即: 。当 时,图形将以习惯的平面直角坐标显
示。
其实,当前的 matlab 版本给用户提供了可交互式调节视点,为了获得最佳视觉效果,
用户可以通过鼠标操作来调节视点,然后再由命令 view 获取相应的视点后再加以固定。
[例 4-41]绘制函数 的图形,并在各坐标面设置点观察图形。
【求解】编写 myview.m 文件,内容如下:
clear
z='x*exp(-x^2-y^2)';
subplot(2,2,1)
ezsurf(z) %默认视角
[az1,el1]=view %获取当前视角
subplot(2,2,2)
ezsurf(z)
view([1,0,0]) %x 轴视角
[az2,el2]=view %获取当前视角
subplot(2,2,3)
ezsurf(z)
view([0,1,0]) %y 轴视角
[az3,el3]=view %获取当前视角
subplot(2,2,4)
ezsurf(z)