2017-03-28 59 views
0

为什么rotate3d仅在指定图形对象的句柄时才起作用?Matlab指南rotate3d不按预期工作

% Wont work. Why? 
axes(handles.fig1); 
rotate3d on; 

% Works 
rotate3d(handles.fig1,'on'); 

另外,有时rotate3d on;激活其他轴/数字,而不是只是使用以上轴(处理程序)中所定义。这很奇怪。

+0

看来,你给数字句柄'axes'功能。尝试'图(handles.fig1);'而不是 – user2999345

回答

1

当GUIDE工作(和一般的图形用户界面),最好是总是直接指定手柄使用这是会改变一个特定的图形对象的功能时。这可以防止用户与GUI交互以改变预期的行为。由于用户交互以及GUIDE经常改变图形对象的HandleVisibility这一事实,所以依赖于gcagcf在GUI中变得非常可疑。

为了激活您应该指定3D旋转要么axesfigure

handles.myax = axes(handles.fig1); 
rotate3d(handles.myax, 'on'); 

% OR: rotate3d(handles.fig1,'on');