在Matlab中,我创建了一个相当复杂的3D绘图,然后手动操作视图选项,直到我对我看到的内容感到满意(下图)。如何重用最终视图的参数?我可以得到view
命令的输出,这是一个4乘4矩阵,但后者似乎不可重用?
答案 0 :(得分:3)
为了从[{1}}中获取某些内容,然后您可以转到view
重建视点,您需要指定two outputs到view
,这将产生当前方位角和仰角。
view
然后,您可以在不同(或相同)轴上将这些传递给[az, el] = view(ax1);
以指定视点
view
您还可以使用view(ax2, az, el);
对象的View
property。
axes
但请注意,有许多属性可以控制轴的视图,包括AzEl = get(ax1, 'View');
set(ax2, 'View', AzEl);
,Projection
,DataAspectRatio
和所有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
命令会立即提供此信息。