2017-03-28 62 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');