Изображение спирали с лентами потока

Что могут показать потоковые ленты

Ленты потока иллюстрируют направление потока, подобное линиям потока, но могут также показать вращение вокруг оси потока, скручивая ленточную линию потока. streamribbon функция позволяет вам задать угол скручивания (в радианах) для каждой вершины в лентах потока.

При использовании в сочетании с curl функция, streamribbon используется для отображения скорости вращения поворота векторного поля. Следующий пример иллюстрирует этот метод.

1. Выберите подмножество данных для построения графика

Загрузка и выбор необходимой области в wind набор данных с использованием subvolume. Построение графика полного набора данных сначала может помочь вам выбрать необходимую область.

load wind
lims = [100.64 116.67 17.25 28.75 -0.02 6.86];
[x,y,z,u,v,w] = subvolume(x,y,z,u,v,w,lims);

2. Вычисление скорости вращения кривой и скорости ветра

Вычислите скорость вращения поворота и скорость ветра.

cav = curl(x,y,z,u,v,w);
wind_speed = sqrt(u.^2 + v.^2 + w.^2);

3. Создайте потоковые ленты

  • Использовать meshgrid для создания массивов начальных точек для лент потока. Смотрите «Определение начальных точек» для Stream Plotsfor информацию об указании массивов начальных точек.

  • stream3 вычисляет вершины линии потока с размером шага .5.

  • streamribbon масштабирует ширину ленты в множитель 2 для улучшения видимости скручивания (что указывает на скорость вращения скручивания).

  • streamribbon возвращает указатели на созданные объекты поверхности, которые затем используются для установки красного цвета (FaceColor), цвет ребер поверхности до светло-серого (EdgeColor), и немного увеличить яркость окружающего света, отраженного при применении подсветки (AmbientStrength).

    [sx sy sz] = meshgrid(110,20:5:30,1:5);
    verts = stream3(x,y,z,u,v,w,sx,sy,sz,.5);
    h = streamribbon(verts,x,y,z,cav,wind_speed,2);
    set(h,'FaceColor','r',...
       'EdgeColor',[.7 .7 .7],...
       'AmbientStrength',.6)
    

4. Определите Вид и Добавить Подсветку

  • volumebounds команда обеспечивает удобный способ задать axis и пределы цвета.

  • Добавить a grid и установите view для 3-D (streamribbon не изменяет текущее представление).

  • camlight создает свет, расположенный справа от точки зрения, и lighting устанавливает метод подсветки на Gouraud.

    axis(volumebounds(x,y,z,wind_speed))
    grid on
    view(3)
    camlight right;