Main Content

view

相机视线

说明

示例

view(az,el) 为当前坐标区设置相机视线的方位角和仰角。

示例

view(v) 根据 v(二元素或三元素数组)设置视线:

  • 二元素数组 - 其值分别是方位角和仰角。

  • 三元素数组 - 其值是从图框中心点到相机位置所形成向量的 x、y 和 z 坐标。MATLAB® 使用指向同一方向的单位向量计算方位角和仰角。

示例

view(dim) 对二维或三维绘图使用默认视线。对默认二维视图,将 dim 指定为 2,对于默认三维视图,指定为 3

示例

view(ax,___) 指定目标坐标区的视线。

示例

[caz,cel] = view(___) 分别将方位角和仰角返回为 cazcel。指定上述任一语法中的输入参数,以获得新视线的角度。或者,不指定输入参数以获得当前视线的角度。

示例

全部折叠

使用 peaks 函数获取曲面的 xyz 坐标。然后绘制曲面并标记每个轴。

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object contains an object of type surface.

使用 90 度的方位角和 0 度的仰角查看绘图。新视线与 x 轴同向。

view(90,0)

Figure contains an axes object. The axes object contains an object of type surface.

使用 peaks 函数获取曲面的 xyz 坐标。然后绘制曲面并标记每个轴。

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object contains an object of type surface.

在二维视图中显示绘图。

view(2)

Figure contains an axes object. The axes object contains an object of type surface.

创建一组 xyz 坐标,并使用它们绘制一个曲面。然后标记每个轴。

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object contains an object of type surface.

获取此绘图的方位角和仰角。

[caz,cel] = view
caz = -37.5000
cel = 30

通过将 v 指定为一个向量的 xyz 坐标来更改视图,并返回新的方位角和仰角。新角度基于指向与 v 相同方向的单位向量。

v = [-5 -2 5];
[caz,cel] = view(v)

Figure contains an axes object. The axes object contains an object of type surface.

caz = -68.1986
cel = 42.8760

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示分块图。调用 tiledlayout 函数以创建 1×2 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1ax2。在两个坐标区中分别创建一个同样的线图。

t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
tiledlayout(1,2)

% Left plot
ax1 = nexttile;
plot3(ax1,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

% Right plot
ax2 = nexttile;
plot3(ax2,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

将右图的视图更改为沿 x 轴的侧视图。

view(ax2,[90 0]);

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

输入参数

全部折叠

方位角,指定为与负 y 轴之间形成的角度,以度为单位。增加此角度对应于从上方查看 x-y 平面时绕 z 轴逆时针旋转。

默认值取决于图是在二维视图中还是在三维视图中。对于二维图,默认值为 0。对于三维图,默认值为 -37.5

示例: view(45,25) 将方位角设置为 45 度,将仰角设置为 25 度。

仰角,指定的视线与 x-y 平面之间的最小角度(以度为单位)。从 -90 度增加到 90 度对应于从负 z 轴旋转到正 z 轴。

默认值取决于图是在二维视图中还是在三维视图中。对于二维图,默认值为 90。对于三维图,默认值为 30

示例: view(45,25) 将方位角设置为 45 度,将仰角设置为 25 度。

视线向量,指定为下列值之一:

  • 二元素数组,其值分别是方位角和仰角。

  • 三元素数组,其值是从图框中心点到相机位置所形成向量的 x、y 和 z 坐标。MATLAB 基于指向同一方向的单位向量计算方位角和仰角。因此,v 的模对视线没有影响。

示例: view([45 25]) 将方位角设置为 45 度,将仰角设置为 25 度。

示例: view([20 25 5]) 将视线设置为指向与向量 [20 25 5] 相同方向的向量。

维度,指定为 23。此参数将方位角和仰角设置为 MATLAB 对二维图或三维图应用的默认值。

dim 的值方位角仰角
2
090
3
-37.530

目标坐标区,指定为:

  • Axes 对象。

  • Axes 对象组成的数组。(自 R2022a 开始提供)

如果不指定此参数,则 view 会修改当前坐标区。

详细信息

全部折叠

视线

视线以图框的中心为起点,指向相机。MATLAB 使用方位角仰角这两个角度定义视线。这些角度是在原点位于图框中心的三维坐标系中测量的。

  • 方位角 - 绕 z 轴的旋转角,从负 y 轴开始测量。增加此角度对应于从上方查看 x-y 平面时绕 z 轴逆时针旋转。

  • 仰角 - 视线与 x-y 平面之间的最小角度。从 -90 度增加到 90 度对应于从负 z 轴旋转到正 z 轴。

提示

view 函数控制视线的方向,但不控制视线的起始位置,也不控制相机的位置。要获得更多控制,请使用相机函数,如 camposcamtargetcamupcamvacamrollcamproj

版本历史记录

在 R2006a 之前推出

全部展开