问题描述
我有形成六边形点阵顶点的 x,y 坐标(即 (x[i],y[i]) 表示一个点和 az 值(一维数组),使得 z[i] 是值在点 (x[i],y[i])。如何将 z 插值到规则的方形网格(用于计算 z 的偏导数)?
import numpy as np
import matplotlib.pyplot as plt
def hex_pts(Nx,Ny):
x_a,y_a = [],[]
for jj in range (Nx):
for ii in range(0,Ny,4):
x_a.append(0+jj*np.sqrt(3)); y_a.append(3*ii/4)
x_a.append(-np.sqrt(3)/2+jj*np.sqrt(3)); y_a.append(3*ii/4+1/2)
x_a.append(-np.sqrt(3)/2+jj*np.sqrt(3)); y_a.append(3*ii/4+1/2+1)
x_a.append(0+jj*np.sqrt(3)); y_a.append(3*ii/4+1/2+1+1/2)
x_a = np.asarray(x_a)
y_a = np.asarray(y_a)
return x_a,y_a
def zfun(x,y):
return x**2+y**2
xa,ya = hex_pts(20,40)
z = zfun(xa,ya)
plt.figure(1)
plt.scatter(xa,ya,s=12)
plt.axis('equal')
plt.figure(2)
plt.scatter(xa,c=z)
plt.show()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)