Main Content

메시 플롯과 곡면 플롯 만들기

메시 플롯 및 곡면 플롯 정보

MATLAB®에서는 x-y 평면 그리드 점들에서 z 좌표로 인접한 점들을 직선으로 연결해 곡면을 정의합니다. mesh 함수와 surf 함수는 곡면을 3차원으로 표시합니다.

  • mesh는 정의된 점들이 연결된 선만 색으로 표시하는, 와이어프레임 곡면을 생성합니다.

  • surf는 연결선과 곡면의 면을 모두 색으로 표시합니다.

MATLAB은 z 데이터 값을 Figure 컬러맵의 인덱스에 매핑하여 곡면을 색으로 표시합니다.

두 개의 변수로 구성된 함수 시각화

두 개의 변수로 구성된 함수 z = f (x,y)를 표시하려면 다음을 수행하십시오.

  1. 반복되는 행과 열로 구성된 X 행렬과 Y 행렬을 각각 함수의 정의역 위에 생성합니다.

  2. XY를 사용하여 함수를 실행하고 그래프로 나타냅니다.

meshgrid 함수는 단일 벡터 또는 두 개의 벡터 xy로 지정된 정의역을 행렬 X와 행렬 Y로 변환해 두 개의 변수로 구성된 함수를 실행할 수 있도록 합니다. X의 행은 벡터 x의 복사본이며 Y의 열은 벡터 y의 복사본입니다.

sinc 함수 그래프 표시

이 예제에서는 x 방향과 y 방향 사이에 2차원 sinc 함수 sin(R)/R을 실행하고 그래프로 나타내는 방법을 보여줍니다. R은 행렬의 중심에 있는 원점으로부터의 거리입니다. eps(매우 작은 값)를 추가하면 R = 0인 점에서 메시에 구멍이 생성되지 않습니다.

[X,Y] = meshgrid(-8:.5:8); 
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

Figure contains an axes object. The axes object contains an object of type surface.

기본적으로 MATLAB®에서는 현재 컬러맵을 사용하여 메시를 채색합니다.

채색된 곡면 플롯

이 예제에서는 sinc 함수의 그래프를 곡면 플롯으로 나타내고, 컬러맵을 지정하며, 컬러바를 추가하여 데이터와 색의 매핑을 표시하는 방법을 보여줍니다.

곡면 플롯은 곡면의 사각형 면이 채색된다는 점만 제외하면 메시 플롯과 비슷합니다. 각 면의 색은 Z 값과 컬러맵(순서가 지정된 색 목록)으로 결정됩니다.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
colorbar

Figure contains an axes object. The axes object contains an object of type surface.

투명한 곡면 만들기

이 예제에서는 곡면의 면을 다양한 각도로 투명하게 만들 수 있는 방법을 보여줍니다. 투명도(알파 값이라고도 함)는 전체 객체에 대해 지정할 수도 있고 컬러맵과 유사하게 동작하는 alphamap을 기반으로 지정할 수도 있습니다.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z)
colormap hsv
alpha(.4)

Figure contains an axes object. The axes object contains an object of type surface.

MATLAB®에 면 알파 값이 0.4인 곡면이 표시됩니다. 알파 값의 범위는 0(완전 투명)에서 1(불투명) 사이입니다.

곡면 플롯에 조명 효과 지정

이 예제에서는 앞의 예제와 동일한 곡면을 보여주지만 곡면을 빨간색으로 채색하고 메시 선을 제거합니다. 그런 다음 "카메라" 왼쪽에 light 객체를 추가합니다. 여기서 카메라는 사용자가 곡면을 바라보는 공간 내의 위치를 말합니다.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
surf(X,Y,Z,'FaceColor','red','EdgeColor','none')
camlight left; 
lighting phong

Figure contains an axes object. The axes object contains an object of type surface.

조명은 방향성 광원으로 객체에 조명 효과를 지정하는 기법입니다. 특정한 상황에서 이 기법을 사용하면 곡면 형태에 미묘한 차이가 발생하여 형태가 눈에 더 잘 띄는 효과를 얻을 수 있습니다. 조명 기법을 사용하면 3차원 그래프에 사실성을 더할 수 있습니다.

곡면 조작

Figure 도구 모음과 카메라 도구 모음을 사용하면 3차원 그래픽스를 대화형 방식으로 탐색할 수 있습니다. 카메라 도구 모음을 표시하려면 Figure의 보기 메뉴에서 카메라 도구 모음을 선택합니다.

다음 그림에는 두 개의 도구 모음이 표시되며, 3차원 회전 툴이 선택되어 있습니다.

이 툴들을 사용하면 surface 객체 주위로 카메라를 이동하고, 확대/축소하고, 조명 효과를 추가하고, 명령줄에 명령을 실행하지 않고도 다른 보기 작업을 수행할 수 있습니다.