表面图的初始旋转

时间:2014-12-16 19:32:25

标签: matlab

如果不修改用于生成曲面图的数据数组,有没有办法控制绘图的初始旋转?即 - 当我运行此命令时:

surf(Y, 'LineStyle', ':', 'LineWidth', .1);

[0 0 0]位于前角。

Default surf rotation

我希望旋转图表,使[0 0 0]最初出现在图表的左/底/后面,相当于向左拖动鼠标,使图表旋转90度,或顺时针旋转从顶部往下看。

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:1)

是的...使用view。鉴于您的图形是打开的,这允许您指定图形的方位角和高度旋转。 这是以度为单位定义的。

方位角旋转可以大致等同于纵向旋转,而高度可以是纬度。纬度范围从-90到+90度,其中-90是从底部看的地方,而+90是从头顶看,纵向的范围是-180到+180度,其中正面和负值表示顺时针和逆时针旋转。

3D绘图的默认视角假定方位角为-37.5度,而高程为30度,或者换句话说,MATLAB在显示图形之前执行此操作:

view(-37.5, 30);

在您的情况下,您希望旋转方位角90度。因此,一旦您的图形打开,相对于默认的3D视图,请执行以下操作:

view(52.5, 30); %// Azimuth = -37.5+90

view(-127.5, 30); %// Azimuth - -37.5-90

这会将方位角逆时针或顺时针旋转90度。