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

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

Потоковые ленты иллюстрируют направление потока, подобного линиям потоков, но могут также показать вращение вокруг оси потока путем скручивания соединительной линии ленточной формы. Функция 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, чтобы создать массивы отправных точек для потоковых лент. Смотрите Отправные точки Определения для Потока информация о 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 и цветные пределы.

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

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

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