在Matlab中重用视图输出矩阵

时间:2016-04-22 00:16:33

标签: matlab matlab-figure

在Matlab中,我创建了一个相当复杂的3D绘图,然后手动操作视图选项,直到我对我看到的内容感到满意(下图)。如何重用最终视图的参数?我可以得到view命令的输出,这是一个4乘4矩阵,但后者似乎不可重用?

enter image description here

2 个答案:

答案 0 :(得分:3)

为了从[{1}}中获取某些内容,然后您可以转到view重建视点,您需要指定two outputsview,这将产生当前方位角和仰角。

view

然后,您可以在不同(或相同)轴上将这些传递给[az, el] = view(ax1); 以指定视点

view

您还可以使用view(ax2, az, el); 对象的View property

axes

但请注意,有许多属性可以控制轴的视图,包括AzEl = get(ax1, 'View'); set(ax2, 'View', AzEl); ProjectionDataAspectRatio和所有camera properties。根据您的使用情况,您可能还需要指定这些。

答案 1 :(得分:1)

好的,根据Suever的评论,我意识到我需要的所有图形属性都可以通过名为matlab.graphics.axis.Axes的图形界面访问。这是可以找到相机参数的地方。另一种方法是逐个找到它们:

get(gca,'Projection')
get(gca,'CameraPosition')
get(gca,'CameraViewAngle')
get(gca,'CameraTarget')

然后直接在脚本中设置它们:

set(gca,'Projection','perspective')
set(gca,'CameraPosition',[-7 -5 3]/15)
set(gca,'CameraViewAngle',85)
set(gca,'CameraTarget',[0 .5 0])

我原本以为view命令会立即提供此信息。