2017-03-28 1 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)를 사용하는 경우 항상 특정 그래픽 개체를 변경할 기능을 사용할 때 직접 핸들을 지정하십시오. 이렇게하면 GUI와의 사용자 상호 작용이 예상되는 동작을 변경하는 것을 방지 할 수 있습니다. gcagcf에 대한 의존성은 사용자 상호 작용과 GUIDE가 종종 그래픽 객체의 HandleVisibility을 변경한다는 사실 때문에 GUI에서 매우 의문스러워집니다. 사용자가 지정해야 3D 회전을 활성화하기 위해

중 하나 axes 또는 figure

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

% OR: rotate3d(handles.fig1,'on'); 
관련 문제