Main Content

view

카메라의 시선

설명

예제

view(az,el)은 현재 좌표축에 대한 카메라 시선의 방위각과 고도각을 설정합니다.

예제

view(v)는 요소를 2개 또는 3개 가진 배열인 v에 따라 시선을 설정합니다.

  • 요소를 2개 가진 배열 — 값은 각각 방위각과 고도각입니다.

  • 요소를 3개 가진 배열 — 값은 플롯 상자의 중심에서 시작해서 카메라 쪽을 가리키는 벡터의 x, y, z 좌표입니다. MATLAB®은 동일한 방향을 가리키는 단위 벡터를 사용하여 방위각과 고도각을 계산합니다.

예제

view(dim)은 2차원 또는 3차원 플롯에 대한 디폴트 시선을 사용합니다. 디폴트 2차원 보기의 경우 dim2로 지정하고, 디폴트 3차원 보기의 경우 3으로 지정합니다.

예제

view(ax,___)는 시선을 변경할 때의 타깃 좌표축을 지정합니다.

예제

[caz,cel] = view(___)는 방위각과 고도각을 각각 cazcel로 반환합니다. 새 시선에 대한 각도를 구하려면 위에 열거된 구문에 나와 있는 입력 인수를 지정하십시오. 또는 현재 시선에 대한 각도를 구하려면 입력 인수를 지정하지 마십시오.

예제

모두 축소

peaks 함수를 사용하여 곡면의 x, y, z 좌표를 가져옵니다. 그런 다음 곡면을 플로팅하고 각 좌표축에 레이블을 지정합니다.

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

방위각 90도와 고도 0도를 사용하여 플롯을 봅니다. 새 시선은 x축상에서 바라보는 시선이 됩니다.

view(90,0)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

peaks 함수를 사용하여 곡면의 x, y, z 좌표를 가져옵니다. 그런 다음 곡면을 플로팅하고 각 좌표축에 레이블을 지정합니다.

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

2차원 보기에 플롯을 표시합니다.

view(2)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

x, y, z 좌표 집합을 만들고, 이 집합을 사용하여 곡면을 플로팅합니다. 그런 다음 각 축에 레이블을 지정합니다.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
surf(X,Y,Z)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

이 플롯에 대한 방위각과 고도각을 구합니다.

[caz,cel] = view
caz = -37.5000
cel = 30

vx, y, z 좌표로 이루어진 벡터로 지정하여 보기를 변경한 다음 새 방위각과 고도각을 반환합니다. 새 각도는 v와 동일한 방향을 가리키는 단위 벡터를 기반으로 합니다.

v = [-5 -2 5];
[caz,cel] = view(v)

Figure contains an axes object. The axes object with xlabel X, ylabel Y contains an object of type surface.

caz = -68.1986
cel = 42.8760

R2019b부터는 tiledlayout 함수와 nexttile 함수를 사용하여 플롯을 타일 형식 배열로 표시할 수 있습니다. tiledlayout 함수를 호출하여 1×2 타일 형식 차트 레이아웃을 만듭니다. nexttile 함수를 호출하여 axes 객체 ax1ax2를 만듭니다. 두 좌표축에 동일한 선 플롯을 각각 만듭니다.

t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
tiledlayout(1,2)

% Left plot
ax1 = nexttile;
plot3(ax1,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

% Right plot
ax2 = nexttile;
plot3(ax2,xt1,yt1,t)
xlabel('X')
ylabel('Y')
zlabel('Z')

Figure contains 2 axes objects. Axes object 1 with xlabel X, ylabel Y contains an object of type line. Axes object 2 with xlabel X, ylabel Y contains an object of type line.

오른쪽 플롯의 보기를 x축상에서 바라보는 측면 보기로 변경합니다.

view(ax2,[90 0]);

Figure contains 2 axes objects. Axes object 1 with xlabel X, ylabel Y contains an object of type line. Axes object 2 with xlabel X, ylabel Y contains an object of type line.

입력 인수

모두 축소

방위각으로, 음의 y축에서부터의 도 단위의 각도로 지정됩니다. 이 각도를 증가시키는 것은 x-y 평면을 위에서 봤을 때 z축을 중심으로 시계 반대 방향으로 회전시키는 것에 해당합니다.

디폴트 값은 차트가 2차원 보기인지 3차원 보기인지에 따라 달라집니다. 2차원 차트의 경우 디폴트 값은 0입니다. 3차원 차트의 경우 디폴트 값은 -37.5입니다.

예: view(45,25)는 방위각을 45도로 설정하고 고도를 25도로 설정합니다.

고도로, 시선과 x-y 평면 사이의 최소 각도(단위: 도)로 지정됩니다. 고도를 -90도에서 90도로 증가시키는 것은 음의 z축에서 양의 z축으로 회전시키는 것에 해당합니다.

디폴트 값은 차트가 2차원 보기인지 3차원 보기인지에 따라 달라집니다. 2차원 차트의 경우 디폴트 값은 90입니다. 3차원 차트의 경우 디폴트 값은 30입니다.

예: view(45,25)는 방위각을 45도로 설정하고 고도를 25도로 설정합니다.

시선 벡터로, 다음 중 하나로 지정됩니다.

  • 방위각과 고도각을 포함하는 요소를 2개 가진 배열.

  • 플롯 상자의 중심에서 시작해서 카메라 쪽을 가리키는 벡터의 x, y, z 좌표를 포함하는 요소를 3개 가진 배열. MATLAB은 동일한 방향을 가리키는 단위 벡터를 사용하여 방위각과 고도를 계산합니다. 따라서 v의 크기는 시선에 영향을 미치지 않습니다.

    3-D coordinate space showing the vector (x, y, z) with the azimuth and elevation angles

예: view([45 25])는 방위각을 45도로 설정하고 고도를 25도로 설정합니다.

예: view([20 25 5])는 시선을 벡터 [20 25 5]와 동일한 방향을 가리키는 벡터로 설정합니다.

차원으로, 2 또는 3으로 지정됩니다. 이 인수는 방위각과 고도를 MATLAB이 2차원 또는 3차원 플롯에 대해 사용하는 디폴트 값으로 설정합니다.

dim의 값방위각고도
2
090
3
-37.530

대상 좌표축으로, 다음과 같이 지정됩니다.

  • Axes 객체.

  • Axes 객체로 구성된 배열. (R2022a 이후)

이 인수를 지정하지 않는 경우 view는 현재 좌표축을 수정합니다.

세부 정보

모두 축소

시선

시선은 플롯 상자의 중심에서 시작해서 카메라 쪽을 가리킵니다. MATLAB은 방위각고도, 두 개의 각도를 사용하여 이 선을 정의합니다. 두 각도는 원점이 플롯 상자의 중심에 있는 3차원 좌표계 내에서 측정됩니다.

  • 방위각 — z축을 중심으로 회전한 각도를 음의 y축에서 측정한 값입니다. 이 각도를 증가시키는 것은 x-y 평면을 위에서 봤을 때 z축을 중심으로 시계 반대 방향으로 회전시키는 것에 해당합니다.

  • 고도 — 시선과 x-y 평면 사이의 최소 각도입니다. 고도를 -90도에서 90도로 증가시키는 것은 음의 z축에서 양의 z축으로 회전시키는 것에 해당합니다.

3-D coordinate space showing the line of sight vector with the azimuth and elevation angles

  • view 함수는 시선의 방향을 제어하지만, 시선이 시작하는 위치와 카메라 위치는 제어하지 않습니다. 더 자세히 제어하려면 campos, camtarget, camup, camva, camrollcamproj와 같은 카메라 함수를 사용하십시오.

  • 방위각과 고도각을 설정하면 다른 카메라 관련 속성이 재설정될 수도 있습니다. 최상의 결과를 얻으려면 다른 카메라 관련 속성을 설정하기 전에 먼저 방위각과 고도각을 설정하십시오.

버전 내역

R2006a 이전에 개발됨

모두 확장