2017-03-28 1 views
0

rotate3dはグラフィックスオブジェクトのハンドルを指定するときに機能するのはなぜですか?Matlab guide rotate3dは期待どおりに動作しません

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

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

はまた、rotate3d on;は時々軸/フィギュア他人を活性化させるが、ちょうど軸(ハンドラ)を使用して、上記で定義されていません。これは奇妙です。

+0

のいずれかを指定する必要があります。代わりに 'figure(handles.fig1);'を試してください – user2999345

答えて

1

GUIDE(および一般的なGUI)を使用する場合は、常にを指定すると、特定のグラフィックスオブジェクトを変更する関数を使用するときにハンドルを直接指定することをお勧めします。これにより、GUIとのユーザーのやりとりが予想される動作を変更することが防止されます。 gcagcfへの依存は、ユーザーのやりとりとGUIDEがグラフィックスオブジェクトのHandleVisibilityを変更することが多いため、GUIでは非常に疑わしいものになります。

3D回転を活性化するために、あなたはあなたが `axes`関数にFigureハンドルを与えているようだaxesまたはfigure

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

% OR: rotate3d(handles.fig1,'on'); 
関連する問題