В этом примере показано, как отобразить путь снаряда как функцию времени с помощью трехмерного графика полей градиента.
Покажите путь следующего снаряда, используя константы для скорости и ускорения, vz и a. Вычислите z поскольку высота по времени изменяется от 0 до 1.
vz = 10; % velocity constant a = -32; % acceleration constant t = 0:.1:1; z = vz*t + 1/2*a*t.^2;
Вычислим положение в направлении X и направлении Y.
vx = 2; x = vx*t; vy = 3; y = vy*t;
Вычислите компоненты векторов скорости и отобразите векторы с помощью 3-D графиков полей градиента. Измените точку зрения осей на [70,18].
u = gradient(x); v = gradient(y); w = gradient(z); scale = 0; figure quiver3(x,y,z,u,v,w,scale) view([70,18])

Анимация о потоке частиц полезна для визуализации направления потока и скорости векторного поля. «Частицы» (представленные любым из маркеров линии) прослеживают поток вдоль конкретной линии потока. Скорость каждой частицы в анимации пропорциональна величине векторного поля в любой заданной точке вдоль линии потока.
Этот пример определяет область объема для построения путем определения соответствующих начальных точек. В этом случае графики потока начинаются с x = 100 и y охватывает от 20 до 50 в плоскости z = 5, что не является полными объемными границами.
load wind [sx sy sz] = meshgrid(100,20:2:50,5);
Этот пример использует потоковые линии (stream3, streamline), чтобы проследить путь анимированных частиц, что добавляет визуальный контекст для анимации.
verts = stream3(x,y,z,u,v,w,sx,sy,sz); sl = streamline(verts);
В то время как все линии потока начинаются в плоскости z = 5, значения некоторых спиралей снижаются до более низких значений. Следующие настройки обеспечивают четкое представление анимации:
Точка зрения (view) выбранный показывает как плоскость, содержащую большинство струйных линий, так и спираль.
Выбор соотношения сторон данных (daspect) [2 2 0.125] обеспечивает большее разрешение в z-направлении, чтобы сделать частицы потока легче видимыми по спирали.
Установите пределы осей, чтобы они совпадали с пределами данных (axis) и нарисуйте коробку осей (box).
view(-10.5,18) daspect([2 2 0.125]) axis tight; set(gca,'BoxStyle','full','Box','on')
Определите вершины вдоль линии потока, где будет нарисована частица. interpstreamspeed функция возвращает эти данные на основе вершин линии потока и скорости вектора данных. Этот пример масштабирует скорости на 0,05, чтобы увеличить количество интерполированных вершин.
Установите оси SortMethod свойство к childorder поэтому анимация выполняется быстрее.
The streamparticles функция устанавливает следующие свойства:
Animate на 10 чтобы запустить анимацию 10 раз.
ParticleAlignment на on чтобы начать все следы частиц вместе.
MarkerEdgeColor на none чтобы нарисовать только грань кругового маркера. Анимация обычно выполняется быстрее, когда ребра маркера не рисуются.
MarkerFaceColor на red.
Marker на o, который рисует круговой маркер. Можно использовать и другие маркеры линий.
iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.01); set(gca,'SortMethod','childorder'); streamparticles(iverts,15,... 'Animate',10,... 'ParticleAlignment','on',... 'MarkerEdgeColor','none',... 'MarkerFaceColor','red',... 'Marker','o');
