Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

coneplot

在三维向量场中以圆锥体形式绘制速度向量

  • Plot velocity vectors as cones in 3-D vector field

语法

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 生成的数据)。CxCyCz 定义向量场中圆锥体的位置。可视化方法中的指定流线图的起点部分提供了有关定义起始点的详细信息。

coneplot(U,V,W,Cx,Cy,Cz)(省略 XYZ 参数)假定 [X,Y,Z] = meshgrid(1:n,1:m,1:p),其中 [m,n,p]= size(U)

coneplot(...,s) 将自动缩放圆锥体以适应图形,然后按缩放因子 s 对圆锥体进行拉伸。如果未为 s 指定值,则 coneplot 使用值 1。使用 s = 0 绘制圆锥体,无需自动缩放。

coneplot(...,color) 在向量场上对数组 color 插值,然后根据插入的值对圆锥体进行着色。color 数组的大小必须与 UVW 数组的大小相同。此选项仅对圆锥体有效(即不能与 quiver 选项一起使用)。

coneplot(...,'quiver') 绘制箭头而不是圆锥体(有关箭头图的说明,请参阅 quiver3)。

coneplot(...,'method') 指定要使用的插值方法。method 可以是 linearcubicnearestlinear 是默认值。(有关这些插值方法的讨论,请参阅 interp3。)

coneplot(X,Y,Z,U,V,W,'nointerp') 不将圆锥体的位置插入三维体中。圆锥体在 XYZ 定义的位置进行绘制,并根据 UVW 定位方向。数组 XYZUVW 的大小必须相同。

coneplot(axes_handle,...) 将图形绘制到带有句柄 axes_handle 的坐标区中,而不是当前坐标区 (gca) 中。

h = coneplot(...) 返回用于绘制圆锥体的 patch 对象的句柄。

coneplot 自动缩放圆锥体以适应图形,同时使圆锥体与各自的速度向量成比例。

示例

全部折叠

为向量三维体数据绘制速度向量圆锥体,以表示气体流经矩形空间区域的运动。

加载数据。wind 数据集包含指定向量分量的数组 uvw 以及指定坐标的数组 xyz

load wind

确定要用于放置切片平面和指定圆锥体绘图所在位置的数据范围。

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

定义绘制圆锥体的位置。选择 xy 中的完整范围并选择 z 中的范围 3 到 15。

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 轴的 xminxmaxy 轴的 ymaxz 轴的 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])

在相机的右侧添加一个光源,然后通过 Gouraud 光照使圆锥体和切片平面上产生平滑的三维外观。

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

扩展功能

版本历史记录

在 R2006a 之前推出