Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

rotate3d

회전 모드 활성화

설명

회전 모드를 사용하면 좌표축의 3차원 보기를 대화형 방식으로 회전하면서 데이터를 탐색할 수 있습니다. 회전 모드를 활성화하거나 비활성화하고 다른 기본적인 옵션을 설정하려면 rotate3d 함수를 사용합니다. 회전 모드 동작을 추가로 제어하려면 rotate3d 객체를 반환한 후 사용하십시오.

3차원 거품 차트, 3차원 산점도 플롯, 곡면 플롯을 포함한 대부분의 3차원 차트에서 회전 모드를 지원합니다. 회전 모드가 지원되는 차트에는 대개 좌표축 도구 모음에 회전 아이콘이 표시됩니다.

기본적으로 활성화되어 있는 내장된 좌표축 상호 작용을 사용하여 데이터를 대화형 방식으로 탐색할 수 있습니다. 예를 들어, 좌표축을 끌어서 3차원 좌표축의 보기를 회전할 수 있습니다. 내장된 상호 작용을 사용할 때는 상호 작용 모드를 활성화할 필요가 없으며, 상호 작용 모드보다 반응 속도가 빠릅니다. 하지만 회전 모드를 활성화하여 회전 동작을 사용자 지정할 수 있습니다. 내장된 상호 작용에 대한 자세한 내용은 차트 상호 작용 제어하기 항목을 참조하십시오.

생성

설명

예제

rotate3d option은 현재 Figure에 있는 모든 좌표축에 대해 회전 모드를 설정합니다. 예를 들어, rotate3d on은 회전 모드를 활성화하고 rotate3d off는 회전 모드를 비활성화합니다.

회전 모드가 활성화된 경우, 커서나 키보드를 사용하여 좌표축의 보기를 회전합니다.

  • 커서 — 좌표축에서 커서를 클릭하여 끕니다.

  • 키보드 — 방위각을 늘리거나 줄이려면 오른쪽 화살표(→) 키 또는 왼쪽 화살표(←) 키를 누릅니다. 고도각을 늘리거나 줄이려면 위쪽 화살표(↑) 키 또는 아래쪽 화살표(↓) 키를 누릅니다.

일부 내장된 상호 작용은 현재 상호 작용 모드에 관계없이 기본적으로 활성화된 상태로 유지됩니다. 회전 모드에 독립적인 내장된 회전 상호 작용을 비활성화하려면 disableDefaultInteractivity 함수를 사용하십시오.

rotate3d는 회전 모드를 켜거나 끕니다. 예를 들어, 회전 모드가 비활성화된 상태에서 rotate3d를 호출하면 회전 모드가 활성화됩니다.

rotate3d(fig,option)은 지정된 Figure에 있는 모든 좌표축에 대해 회전 모드를 설정합니다. 예를 들어, Figure fig에서 모든 좌표축에 대해 회전 모드를 활성화하려면 rotate3d(fig,'on')을 사용합니다.

예제

rotate3d(ax,option)은 지정된 좌표축에 대해 회전 모드를 설정합니다. 예를 들어, 좌표축 ax에 대해 회전 모드를 활성화하려면 rotate3d(ax,'on')을 사용합니다. 앱 디자이너에서 만들고 uifigure 함수를 사용하는 앱에서는 이 구문을 사용하십시오. (R2023a 이후)

예제

r = rotate3d는 현재 Figure에 대해 rotate3d 객체를 만듭니다. 이 구문은 회전 모드와 스타일을 사용자 지정할 때 유용합니다.

r = rotate3d(fig)는 지정된 Figure에 대한 rotate3d 객체를 만듭니다.

입력 인수

모두 확장

회전 모드 옵션으로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 회전 모드를 활성화합니다.

  • 'off' — 회전 모드를 비활성화합니다. 일부 내장된 상호 작용은 현재 상호 작용 모드에 관계없이 기본적으로 활성화된 상태로 유지됩니다. 회전 모드에 독립적인 내장된 회전 상호 작용을 비활성화하려면 disableDefaultInteractivity 함수를 사용하십시오.

대상 Figure로, Figure 객체로 지정됩니다. 대상 Figure를 지정하면 현재 또는 미래의 모든 Axes의 자식에 대해 해당 모드가 설정됩니다.

대상 좌표축으로, Axes 객체로 지정됩니다.

속성

모두 확장

회전 모드 상태로, 'off' 또는 'on'으로 지정됩니다.

회전 방법으로, 다음 값 중 하나로 지정됩니다.

  • 'orbit' — 전체 좌표축을 회전합니다.

  • 'box' — 좌표축의 플롯 상자 윤곽선을 회전합니다. uifigure 함수를 사용하여 만들거나 MATLAB® Online™에서 만든 Figure에 대해서는 'box'가 지원되지 않습니다.

참고

이 속성은 향후 릴리스에서 아무런 영향을 미치지 않습니다. 자세한 내용은 버전 내역을 참조하십시오.

회전하기 전에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수를 포함하는 문자형 벡터(권장되지 않음)

회전을 시작할 때 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 회전하는 Figure 객체.

  • axesStruct — 회전하는 axes 객체인 Axes 필드가 들어 있는 구조체. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

회전한 후에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수를 포함하는 문자형 벡터(권장되지 않음)

회전을 마친 후에 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 회전하는 Figure 객체.

  • axesStruct — 회전하는 axes 객체인 Axes 필드가 들어 있는 구조체. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

회전 억제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수를 포함하는 문자형 벡터(권장되지 않음)

사용자가 정의한 조건 하의 회전을 억제하려면 이 속성을 사용하십시오. 숫자형 또는 논리형 출력값 1(true)은 회전을 억제하고, 숫자형 또는 논리형 출력값 0(false)은 회전을 허용합니다. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • axes — 회전하는 axes 객체.

  • eventData — 빈 인수. 함수 정의에서 이 인수를 물결표 문자(~)로 바꿔서 이 인수가 사용되지 않음을 나타낼 수 있습니다.

함수 핸들을 사용하여 이 속성을 지정할 경우 함수의 출력값을 변수에 할당해야 합니다.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

읽기 전용 속성입니다.

rotate3d 객체를 만들 때 지정한 Figure 객체. Figure를 지정하지 않은 경우, FigureHandlerotate3d 객체를 만든 시점의 현재 Figure입니다.

레거시 모드로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성은 uifigure 함수를 사용하여 만들거나 MATLAB Online에서 만든 Figure의 rotate3d 객체에만 적용됩니다. 이 속성을 'on'으로 설정하면 기존 Figure의 모드 동작과 일치하도록 UI Figure의 상호 작용 모드 동작이 변경됩니다. 자세한 내용은 enableLegacyExplorationModes를 참조하십시오.

이 속성을 'on'으로 설정한 후에는 다시 'off'로 변경할 수 없습니다.

객체 함수

rotate3d 객체의 여러 함수를 사용하여 Figure 내 axes 객체의 회전 동작을 사용자 지정합니다. 이들 함수는 모두 axes 객체와 회전 모드 객체가 동일한 Figure에 연결되어 있어야 합니다.

setAllowAxesRotate

setAllowAxesRotate 함수는 좌표축 회전을 허용할지 여부를 설정합니다.

axes 객체의 벡터 axes와 논리형 스칼라 tf를 입력값으로 지정하여 rotate3d 객체 r에 대해 setAllowAxesRotate(r,axes,tf)를 호출하면 axes 객체에 대해 회전 작업을 허용하거나 허용하지 않을 수 있습니다.

setAllowAxesRotate를 사용하여 좌표축에 대해 회전 모드를 활성화해도 Figure에 대해 회전 모드가 활성화되지 않습니다. 이렇게 하려면 rotate3d 객체의 Enable 속성을 설정하십시오.

isAllowAxesRotate

isAllowAxesRotate 함수는 좌표축 회전이 허용되는지 여부를 쿼리합니다.

axes 객체의 벡터 axes를 입력값으로 지정하여 rotate3d 객체 r에 대해 tf = isAllowAxesRotate(r,axes)를 호출하면 axes와 같은 크기의 논리형 배열 tf가 반환됩니다. tf는 해당 axes 객체에서 회전 작업이 허용되는지 여부를 표시합니다.

isAllowAxesRotate를 사용하여 좌표축의 회전 모드를 반환해도 Figure의 회전 모드는 반환되지 않습니다. 그렇게 하려면 rotate3d 객체의 Enable 속성에 액세스하십시오.

예제

모두 축소

3차원 플롯을 만들고 회전 모드를 활성화합니다. 그런 다음 좌표축을 대화형 방식으로 회전합니다.

surf(peaks)
rotate3d on

타일 형식 차트 레이아웃에 두 개의 좌표축을 만든 다음, 첫 번째 좌표축에 대해서만 회전 모드를 활성화합니다.

tiledlayout(1,2);
ax1 = nexttile;
surf(peaks)

ax2 = nexttile;
contour(peaks);

rotate3d(ax1,'on')

Tiled chart layout with rotate mode enabled for the first axes

회전 모드 객체가 트리거할 버튼 누름 콜백을 만듭니다. 다음 코드를 새 파일에 복사하여 실행한 후 회전 동작을 관찰합니다.

function demo_mbd
    % Allow a line to have its own 'ButtonDownFcn' callback
    hLine = plot(rand(1,10),'ButtonDownFcn','disp(''This executes'')');
    hLine.Tag = 'DoNotIgnore';
    h = rotate3d;
    h.ButtonDownFilter = @mycallback;
    h.Enable = 'on';
    % mouse-click on the line
end

function [flag] = mycallback(obj,event_obj)
    % If the tag of the object is 'DoNotIgnore', then return true
    objTag = obj.Tag;
    if strcmpi(objTag,'DoNotIgnore')
       flag = true;
    else
       flag = false;
    end
end

세부 정보

모두 확장

대체 기능

좌표축 도구 모음

일부 차트의 경우 좌표축 도구 모음에서 회전 아이콘을 클릭하여 회전 모드를 활성화합니다.

버전 내역

R2006a 이전에 개발됨

모두 확장