Main Content

벡터 데이터를 사용하여 흐름선 표시하기

바람 매핑 데이터

wind라는 MATLAB® 벡터 데이터 세트는 북미 지역의 기류를 나타냅니다. 이 예제에서는 다음 기법의 조합을 사용합니다.

  • 흐름선으로 풍속 추적

  • 슬라이스 평면으로 데이터의 단면 보기 표시

  • 슬라이스 평면의 등고선으로 채색된 슬라이스 평면의 가시성 향상

1. 좌표의 범위 결정하기

데이터를 불러오고 최솟값과 최댓값을 결정하여 슬라이스 평면과 등고선 플롯을 찾습니다(load, min, max).

load wind
xmin = min(x(:));
xmax = max(x(:));
ymax = max(y(:));
zmin = min(z(:));

2. 시각적 맥락을 제공하기 위한 슬라이스 평면 추가하기

풍속을 나타내는 벡터장의 크기를 계산하여 slice 명령에 대한 스칼라 데이터를 생성합니다. x축을 따라 xmin, 100, xmax 값에, y축을 따라 ymax 값에, z축을 따라 zmin 값에 슬라이스 평면을 만듭니다. 슬라이스의 색이 풍속을 나타내도록 보간 채색을 지정하고, 가장자리를 그리지 않습니다(sqrt, slice, FaceColor, EdgeColor).

wind_speed = sqrt(u.^2 + v.^2 + w.^2);
hsurfaces = slice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hsurfaces,'FaceColor','interp','EdgeColor','none')
colormap turbo

3. 슬라이스 평면에 등고선 추가하기

색 매핑을 수량화하는 데 도움이 되도록 슬라이스 평면에 연한 회색 등고선을 그립니다(contourslice, EdgeColor, LineWidth).

hcont = ...
contourslice(x,y,z,wind_speed,[xmin,100,xmax],ymax,zmin);
set(hcont,'EdgeColor',[0.7 0.7 0.7],'LineWidth',0.5)

4. 흐름선의 시작점 정의하기

이 예제에서, 모든 흐름선은 x축의 값이 80이고, y 방향과 z 방향으로 각각 20~50과 0~15의 범위에 걸쳐 있는 영역에서 시작합니다. 흐름선의 핸들을 저장하고 선 너비와 색을 설정합니다(meshgrid, streamline, LineWidth, Color).

[sx,sy,sz] = meshgrid(80,20:10:50,0:5:15);
hlines = streamline(x,y,z,u,v,w,sx,sy,sz);
set(hlines,'LineWidth',2,'Color','r')

5. 보기 정의하기

z축을 확장하여 그래프를 더 쉽게 읽을 수 있도록 보기를 설정합니다(view, daspect, axis).

view(3)
daspect([2,2,1])
axis tight

동일한 데이터가 원뿔로 플로팅된 예를 보려면 coneplot을 참조하십시오.