在三维向量场中以圆锥体形式绘制速度向量 您所在的位置:网站首页 圆锥体三维方程 在三维向量场中以圆锥体形式绘制速度向量

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

2023-12-01 02:34| 来源: 网络整理| 查看: 265

coneplot

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

全页折叠 语法

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) 以指向速度向量方向的圆锥体形式绘制速度向量,并且具有与速度向量的量级成比例的长度。 X、Y、Z 定义向量场的坐标。U、V、W 定义向量场。这些数组必须为大小相同的单调数组,并表示轴对齐的笛卡尔网格(例如 meshgrid 生成的数据)。Cx、Cy、Cz 定义向量场中圆锥体的位置。可视化方法中的指定流线图的起点部分提供了有关定义起始点的详细信息。

coneplot(U,V,W,Cx,Cy,Cz)(省略 X、Y 和 Z 参数)假定 [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 数组的大小必须与 U、V、W 数组的大小相同。此选项仅对圆锥体有效(即不能与 quiver 选项一起使用)。

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

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

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

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

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

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

示例

全部折叠

三维圆锥图打开脚本

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

加载数据。wind 数据集包含指定向量分量的数组 u、v 和 w 以及指定坐标的数组 x、y 和 z。

load wind

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

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

定义绘制圆锥体的位置。选择 x 和 y 中的完整范围并选择 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 轴的 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])

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

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

扩展功能GPU 数组 通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。

用法说明和限制:

此函数接受 GPU 数组,但不在 GPU 上运行。

有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。

分布式数组 使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。

用法说明和限制:

此函数在分布式数组上运行,但在客户端 MATLAB® 中执行。

有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。

版本历史记录

在 R2006a 之前推出

另请参阅

isosurface | patch | reducevolume | smooth3 | streamline | stream2 | stream3 | subvolume

主题三维体可视化概述


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有