0

基本上,我试图在三角形元素的网格上对二维有限元解进行可视化。所以我要一个三角形一个三角形地使用fill3函数来绘制它。现在我正在做

% K is the number of mesh elements

for i=1:K
    % x,y,z are 3x1 vectors of the x,y,and z coordinates of the triangle vertices respectively
    fill3(x,y,z,gradient(z))
end

这样做的问题是,对于每个单独的三角形,使用 gradient(z) 颜色图意味着当前三角形上 z 的最小值对应于最小值,z 的最大值对应于最大值。

我想要的是所有三角形的颜色图有一些一致性,就像您使用“冲浪”功能时一样。任何想法如何做到这一点?

4

1 回答 1

1

您可以通过线中三角形的全局最大值进行归一化fill3。因此,对于每个三角形,计算梯度(z)并找到它的最大值和最小值。收集所有这些值,找到全局最大值和最小值。将这些值表示为gmax, gmin,然后我们可以根据这些值对整个数据集进行归一化。例如

 fill3(x,y,z, (gradient(z)-gmin)/(gmax-gmin) )

这应该采用所有梯度值并将它们映射到所有三角形的区间 [0,1]。那么颜色图应该在三角形之间保持一致。

于 2013-03-30T05:48:56.100 回答