任何人都可以帮助我 - 是否有任何方式来创建像这样的numpy数组坐标网格?创建和使用坐标网格
(0,0) (0,1) (0,2) ... (0,n)
(1,0) (1,1) (1,2) ... (1,n)
...........................
(m,0) (m,1) (m,2) ... (m,n)
如果是的话,我怎样才能找到从每个点到中心在(m/2,n/2)和半径R的圆的距离?
(x - m/2)^2 + (y - n/2)^2 - R^2 = ?
任何人都可以帮助我 - 是否有任何方式来创建像这样的numpy数组坐标网格?创建和使用坐标网格
(0,0) (0,1) (0,2) ... (0,n)
(1,0) (1,1) (1,2) ... (1,n)
...........................
(m,0) (m,1) (m,2) ... (m,n)
如果是的话,我怎样才能找到从每个点到中心在(m/2,n/2)和半径R的圆的距离?
(x - m/2)^2 + (y - n/2)^2 - R^2 = ?
这样做的标准方法是使用meshgrid
函数。它使两个数组与您想要的点的坐标为x
和y
。要在你的问题得到显示的坐标,你可以做
import numpy as np
x = np.arange(m+1)
y = np.arange(n+1)
X, Y = np.meshgrid(x, y)
然后计算出你愿意,你可以做
np.sqrt((X - m/2.)**2 + (Y - n/2.)**2) - R
欲了解更多信息的距离上meshgrid
看到的文档 http://docs.scipy.org/doc/numpy/reference/generated/numpy.meshgrid.html
而且如果您希望在两个端点之间使用均匀间隔的值而不是0
到m
或0
到n
,考虑使用linspace
函数。
你可以查看http://stackoverflow.com/questions/17663393了解相似的例子。 – Daniel
好点,这两个问题非常相似。 – IanH