coneplot

Постройте векторы скорости как конусы в 3-D векторном поле

Синтаксис

coneplot(X,Y,Z,U,V,W,Cx,Cy,Cz)
coneplot(U,V,W,Cx,Cy,Cz)
coneplot(...,s)
coneplot(...,color)
coneplot(...,'quiver')
coneplot(...,'method')
coneplot(X,Y,Z,U,V,W,'nointerp')
coneplot(axes_handle,...)
h = coneplot(...)

Описание

coneplot(X,Y,Z,U,V,W,Cx,Cy,Cz) векторы скорости графиков как конусы, указывающие в направлении вектора скорости и имеющие длину, пропорциональную величине вектора скорости. XYZ задайте координаты для векторного поля. UVW задайте векторное поле. Эти массивы должны быть одного размера, монотонные, и представлять Декартову, выровненную осью сетку (такую как данные, произведенные meshgrid). Cx, Cy, Cz задайте местоположение конусов в векторном поле. Раздел Specifying Starting Points for Stream Plots in Visualization Techniques предоставляет больше информации об определении начальных точек.

coneplot(U,V,W,Cx,Cy,Cz) (исключение XY, и Z аргументы), принимает [X,Y,Z] = meshgrid(1:n,1:m,1:p), где [m,n,p]= size(U).

coneplot(...,s) автоматически масштабирует конусы, чтобы соответствовать графику и затем расширяет их масштабным коэффициентом s. Если вы не задаете значение для sconeplot использует значение 1. Используйте s = 0 построить конусы без автоматического масштабирования.

coneplot(...,color) интерполирует массив color на векторное поле и затем окрашивает конусы согласно интерполированным значениям. Размер color массив должен быть одного размера с UVW массивы. Эта опция работает только с конусами (то есть, не с quiver опция).

coneplot(...,'quiver') чертит стрелы вместо конусов (см. quiver3 для рисунка графика полей градиента).

coneplot(...,'method') задает метод интерполяции использовать. method может быть linear, cubic, или nearest. linear значение по умолчанию. (См. interp3 для обсуждения этих методов интерполяции.)

coneplot(X,Y,Z,U,V,W,'nointerp') не интерполирует положения конусов в объем. Конусы чертятся в положениях, заданных XYZ и ориентированы согласно UVW. Массивы XYZUVW должен все быть одного размера.

coneplot(axes_handle,...) графики в оси с указателем axes_handle вместо в текущую систему координат (gca).

h = coneplot(...) возвращает указатель на patch объект раньше чертил конусы.

coneplot автоматически масштабирует конусы, чтобы соответствовать графику, при хранении их пропорционально соответствующим векторам скорости.

Примеры

свернуть все

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

Загрузите данные. wind набор данных содержит массивы uV, и w это задает векторные компоненты и массивы xY, и z это задает координаты.

load wind

Установите область значений данных, чтобы поместить плоскости разбиения и задать, где вы хотите конические графики.

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

Задайте, где построить конусы. Выберите полный спектр в x и y и выберите область значений 3 - 15 в z.

xrange = linspace(xmin,xmax,8);
yrange = linspace(ymin,ymax,8);
zrange = 3:4:15;
[cx,cy,cz] = meshgrid(xrange,yrange,zrange);

Постройте конусы и установите масштабный коэффициент на 5 делать конусы больше, чем размер по умолчанию.

figure
hcone = coneplot(x,y,z,u,v,w,cx,cy,cz,5);

Выберите конические цвета.

hcone.FaceColor = 'red';
hcone.EdgeColor = 'none';

Вычислите величину векторного поля (который представляет скорость ветра) сгенерировать скалярные данные для slice команда.

hold on
wind_speed = sqrt(u.^2 + v.^2 + w.^2);

Создайте плоскости разбиения вдоль оси X в xmin и xmax, вдоль оси Y в ymax, и вдоль оси z в zmin. Задайте интерполированный цвет поверхности, таким образом, срез, окрашивающий, указывает на скорость ветра, и не чертите ребра.

hsurfaces = slice(x,y,z,wind_speed,[xmin,xmax],ymax,zmin);
set(hsurfaces,'FaceColor','interp','EdgeColor','none')
hold off

Измените представление осей и установите соотношение сторон данных.

view(30,40)
daspect([2,2,1])

Добавьте источник света справа от камеры и используйте подсветку Гура, чтобы пригладить конусы и плоскости разбиения, 3D внешний вид.

camlight right
lighting gouraud
set(hsurfaces,'AmbientStrength',0.6)
hcone.DiffuseStrength = 0.8;

Расширенные возможности

Представлено до R2006a