本节介绍如何定义不同的视图参数,以获取想要的视图效果。通常,视图技术应用于三维图形或模型。MATLAB视图设置主要包括两个方面的内容:
观察场景的视点位置。
设置坐标轴方向上的显示比率来控制要显示的对象的形状。
用MATLAB可以控制图形在坐标系中的显示方向。可以将视点、视图目标、方向和景深这样一些视图特性通过一系列图形属性进行控制。可以直接给这些属性指定值,也可以用view命令或MATLAB自动选择的属性定义合理的视图。
view命令用相对于坐标原点的方位角和仰角指定视点。方位角是x-y平面上的极面角,正值表示逆时针方向旋转。仰角是相对于x-y平面向上(正值)或向下(负值)的角度。
MATLAB根据图形是二维还是三维自动选择视点:
对于二维图,默认时方位角为0度,仰角为90度。
对于三维图,默认时方位角为-37.5度,仰角为30度。
现在举一个例子介绍怎样用方位角和仰角指定视点。下面的代码创建一个三维曲面图,然后以默认的三维视图形式显示它。
>> [X,Y]=meshgrid([-2:.25:2]);
>> Z=X.*exp(-X.^2 -Y.^2);
>> surf(X,Y,Z)
结果如图5-1所示。
图5-1 默认的三维视图显示
然后设置视点,方位角为30度,仰角为30度,即
>> view([30 30])
视图效果如图5-2所示。
图5-2 重设视点以后的视图效果 图5-3视点在坐标轴原点下方
也可以通过指定一个负的仰角,将视点移到坐标轴原点的下方,即
>> view([-37.5 -30])
视图效果如图5-3所示。
指定方位角和仰角在概念上很容易理解,但是在操作上有局限性。使用这种方法不能指定视点在z轴正上方的情况,也不能对场景进行缩小和放大,或进行任意旋转和平移。
相比而言,MATLAB的相机工具提供了更大的控制能力。下面介绍如何用相机属性控制视图。
观察坐标系中显示的图形对象时,实际上是在空间中的某个特定位置上观察场景,这个位置相对于场景有一定的方向。MATLAB提供了功能上类似于变焦相机的工具,使用它可以控制MATLAB创建的场景图。