Main Content

使用相机工具栏控制视图

相机工具栏

相机工具栏允许您以交互方式执行多种观察操作。要使用相机工具栏,请执行以下操作:

  • 显示工具栏,方法是:从图窗窗口的视图菜单中选择相机工具栏,或者在命令行窗口中键入 cameratoolbar

  • 选择要使用的相机移动控制类型,方法是:点击相应的按钮,或者在命令行窗口更改 cameratoolbar 模式。

  • 将光标置于图窗窗口上并点击,按住鼠标右键,然后将光标移动到所需的方向。

显示屏将随着鼠标移动即时更新。

工具栏包含以下几部分:

  • 相机移动控制 - 这些工具用于选择要启用的相机移动功能。您也可以从工具菜单中访问相机移动控制。

  • 主轴选择器 - 某些相机控制的工作方式基于特定的坐标轴。这些选择器允许您选择主轴或选择不受坐标轴限制的移动。如果不适用于当前选定的功能,选择器将灰显。您还可以从工具菜单中访问主轴选择器。

  • 场景灯光 - 场景灯光按钮用于打开或关闭场景中的光源(每个坐标区一个光源)。

  • 投影类型 - 您可以选择正交投影或透视投影类型。

  • 重置和停止 - 重置可将场景恢复为交互开始时的视图。“停止”将使相机停止移动(如果您应用了太多的光标移动,这会很有用)。您还可以从工具菜单中访问更多重置功能。

主轴

场景的主轴定义屏幕上向上的方向。例如,MATLAB® 曲面图的向上方向与 z 轴的正方向一致。

主轴将相机工具移动限制在与您选择的主轴平行(在屏幕上)和垂直的坐标轴上。如果您的数据是针对特定坐标轴定义的,则指定主轴很有用。Z 轴是默认的主轴,因为这与默认的 MATLAB 三维视图一致。

有两个相机工具(环移和平转/纵转)允许您选择主轴和不受坐标轴限制的移动。在屏幕上,旋转轴由一条与主轴平行的垂直线和一条与主轴垂直的水平线决定,这两条线都穿过 CameraTarget 属性所定义的点。

例如,当主轴是 z 轴时,移动时所围绕的中心轴为

  • 穿过相机目标并与 z 轴平行的垂直线

  • 穿过相机目标并与 z 轴垂直的水平线

这意味着场景(或相机,视情况而定)以相机目标为中心进行弧线移动。下图显示了主轴为 z 轴时的旋转轴。

旋转轴始终穿过相机目标。

针对三维相机移动的优化

当您创建绘图时,MATLAB 将以适合图窗窗口的纵横比显示它。这一行为可能无法产生最优的三维图形操作环境,当您围绕场景移动相机时,可能会产生变形。为了避免可能的变形,最好切换到三维可视化模式(从命令行中使用命令 axis vis3d 来启用)。使用相机工具栏时,MATLAB 会自动切换到三维可视化模式,但会首先通过以下对话框发出警告。

此对话框在每个 MATLAB 会话中仅出现一次。

相机移动控件

本节讨论可从工具栏上选择的各项相机移动功能。

注意

理解下面的图时,请记住,相机始终指向相机目标。有关相机移动中涉及到的图形属性的说明,请参阅相机图形术语

环移相机

环移相机围绕 z 轴(默认值)旋转相机。您可以使用主轴选择器选择围绕 x 轴、y 轴、z 轴旋转或者选择不受坐标轴限制的旋转。不使用主轴时,可以围绕任意轴旋转。

图形属性

环移相机会更改 CameraPosition 属性,但 CameraTarget 保持不变。

环移场景灯光

场景灯光是相对于相机位置放置的光源。默认情况下,场景灯光位于相机的右侧(即 camlight right)。“环移场景灯光”可改变光源离相机位置的偏移量。场景灯光只有一个,但您可以使用 light 命令添加其他光源。

点击黄色灯泡图标可以打开和关闭场景灯光。

图形属性

环移场景灯光通过更改光源的 Position 属性来移动场景灯光。

平转/纵转相机

“平转/纵转相机”可移动场景中相机所指向的点,但相机保持固定。默认情况下,移动围绕 z 轴沿弧线进行。您可以使用主轴选择器选择围绕 x 轴、y 轴、z 轴旋转或者选择不受坐标轴限制的旋转。

图形属性

平转/纵转相机通过更改 CameraTarget 属性来移动场景中相机所指向的点。

水平/垂直移动相机

水平或垂直移动光标(或两者的任意组合)将按相同方向移动场景。

图形属性

水平和垂直移动可通过沿平行线协调一致地移动 CameraPositionCameraTarget 来实现。

向前和向后移动相机

向上或向右移动光标可将相机移向场景。向下或向左移动光标可将相机移离场景。可以移动相机穿过场景中的对象,到达相机目标的另一侧。

图形属性

此功能沿相机位置与相机目标之间的连线移动 CameraPosition

缩放相机

使用“缩放相机”功能,向上或向右移动光标时,可使场景变大;向下或向左移动光标时,可使场景变小。缩放并不会移动相机,因此不能移动视点使之穿过场景中的对象。

图形属性

缩放可通过更改 CameraViewAngle 来实现。角度越大,场景越小,反之亦然。

相机滚转

相机滚转是围绕观察轴旋转相机,从而旋转屏幕上的视图。

图形属性

相机滚转将更改 CameraUpVector