gpt4 book ai didi

python - 为给定三个顶点的等高线图生成三角形掩码

转载 作者:行者123 更新时间:2023-11-28 18:57:53 25 4
gpt4 key购买 nike

这是我生成的一些随机数据:

import scipy.signal as sgn
import scipy.interpolate as intr
import numpy.ma as ma
x = np.linspace(-100,0,500)
y = sgn.sawtooth(2 * np.pi * .2 * x)

y = (sgn.sawtooth(2 * np.pi * .2 * x)+1)/2
y = (y+1)*25
plt.plot(x,y)
z = np.sin(2*np.pi*.1*x)+np.sin(2*np.pi*.1*y)

这给了我这个数字: enter image description here

然后我建立一个等高线图:

xi,yi = np.meshgrid(np.linspace(x.min(),x.max(),200),np.linspace(y.min(),y.max(),200))   
zi = intr.griddata((x,y), z, (xi, yi) , method='cubic')
plt.contourf( xi,yi,zi,100); plt.colorbar()

enter image description here

对于方形蒙版,我这样做:

xi,yi = np.meshgrid(np.linspace(x.min(),x.max(),200),np.linspace(y.min(),y.max(),200))
mask =(yi> 25) & (yi< 35) & (xi > -55) & (xi < -25)
zi = intr.griddata((x,y), z, (xi, yi) , method='cubic')
zi = ma.masked_array(zi, mask = mask )
plt.contourf( xi,yi,zi,100); plt.colorbar()

enter image description here

我的问题是,在给定三角形的三个坐标即 (-50, 0) , (-25,0) ,( -37 , 25) 。

最佳答案

按照这些思路尝试一些事情:

mask =(yi> 25) & (yi< 35) & (xi > -55) & (xi < -25) & ((xi+95) > 2*yi)

换句话说,将 ((xi+95) > 2*yi) 添加到您的掩码中。您可能需要调整一些常量才能准确获得您想要的内容。

关于python - 为给定三个顶点的等高线图生成三角形掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com