主要内容

用圆锥图显示向量场

圆锥图能显示什么

的速度矢量锥数据。该图表使用了许多可视化技术:

  • 等值面用于为锥图提供视觉环境,并提供为一组锥选择特定数据值的方法。

  • 照明使等值面的形状清晰可见。

  • 使用透视投影、相机定位和视角调整组成了最终的视图。

1.创建一个等值面

在数据的矩形空间内显示等值面为圆锥图提供了一个可视化的背景。创建等值面需要以下几个步骤:

  1. 计算矢量场的大小,它代表风的速度。

  2. 使用等值面而且补丁绘制等值面以说明在矩形空间中风速等于某一特定值的位置。等值面的内部区域风速较高,等值面的外部区域风速较低。

  3. 使用isonormals从体积数据计算等值面的顶点法线,而不是从用于渲染等值面的三角形计算法线。这些法线通常会产生更准确的结果。

  4. 设置等值面的可视属性,使其为红色且不绘制边(FaceColorEdgeColor).

    加载风的风速=√(u。²+ v²+ w.²);童燕齐=补丁(等值面(x, y, z wind_speed 40));isonormals (x, y, z, wind_speed童燕齐)童燕齐。FaceColor =“红色”;童燕齐。EdgeColor = '没有';

2.将Isocaps添加到等值面

等盖与切片平面相似,它们显示了体积的横截面。它们被设计成等曲面的端盖。在isocap上使用插值人脸颜色将导致数据值映射到当前色卡中的颜色。要为等值面创建isocap,在相同的isovalue处定义它们(isocaps补丁colormap).

hcap =补丁(isocaps (x, y, z wind_speed 40),…“FaceColor”、“插值函数”,…“EdgeColor”,“没有一个”);colormap hsv

3.创建第一组圆锥

  • 使用daspect在调用之前设置轴的数据长宽比coneplot所以功能可以决定锥体的合适大小。

  • 通过计算另一个等等值面的值来确定放置锥体的点(因此锥体显示在第一个等等值面的外面)并使用reducepatch减少面和顶点的数量(这样图上就不会有太多的锥)。

  • 画圆锥体,并设置脸的颜色蓝色的边的颜色没有一个

    daspect ((1 1 1));[f,绿党]= reducepatch(等值面(x, y, z wind_speed 30), 0.07);h1 = coneplot (x, y, z, u, v, w,绿党(:1),绿党(:,2),绿党(:,3),3);h1。FaceColor =“蓝”;h1。EdgeColor = '没有';

4.创建第二组圆锥

  1. 在跨越数据范围的值处创建第二组点(linspacemeshgrid).

  2. 绘制第二组锥,并设置面颜色为绿色,边缘颜色为none。

    xrange = linspace (min (x(:))马克斯(x (:)), 10);yrange = linspace (min (y (:)), max (y (:)), 10);zrange = 3:4:15;(cy,残雪cz) = meshgrid (xrange、yrange zrange);h2 = coneplot (x, y, z, u, v, w,残雪,cy, cz, 2);h2。FaceColor =“绿色”;h2。EdgeColor = '没有';

5.定义视图

  1. 使用命令将坐标轴的限制设置为数据的最小值和最大值,并将图形封装在一个框中,以提高卷的感觉(盒子).

  2. 将投影类型设置为透视,以创建更自然的体量视图。设置视点并放大以使场景更大(camprojcamzoom视图).

    轴紧设置(gca,'BoxStyle','full','Box','on') camproj透视camzoom(1.25)视图(65,45)

6.添加照明

添加一个光源,并使用高洛德照明为最平稳的照明等值面。增加等盖的背景照明强度,使其更亮(camlight照明AmbientStrength).

camlight hcap(-45, 45岁)。AmbientStrength= 0.6; lighting gouraud

Baidu
map