Отображение потоков с использованием векторных данных

Данные отображения ветра

MATLAB® вектор данных называется wind представляет собой воздушные течения над Северной Америкой. Этот пример использует комбинацию методов:

  • Потоковые линии, чтобы проследить скорость ветра

  • Срезать плоскости, чтобы показать виды сечения данных

  • Контуры на плоскостях разбиения для улучшения видимости раскраски плоскости разбиения

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 и охватывают область значений от 20 до 50 в направлении y и от 0 до 15 в направлении z. Сохраните указатели на линии потока и установите ширину и цвет линии (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 для примера тех же данных, нанесенных на конусы.