Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 坐标网格的创建和使用_Python_Numpy - Fatal编程技术网

Python 坐标网格的创建和使用

Python 坐标网格的创建和使用,python,numpy,Python,Numpy,有人能帮我吗?有没有办法像这样创建坐标网格作为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和

有人能帮我吗?有没有办法像这样创建坐标网格作为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
然后,计算你想要的距离,你可以这样做

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
的更多信息,请参阅文档


此外,如果您希望在两个端点之间的平均间隔值而不是仅<代码> 0 通过<代码> M< /代码>或<代码> 0 < /代码>通过<代码> n>代码>,考虑使用<代码> LimStudio函数。

< P>一个标准的方式是使用<代码> MESGRADE函数。它使用所需点的
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
然后,计算你想要的距离,你可以这样做

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
的更多信息,请参阅文档


此外,如果您希望两个端点之间的平均间隔值而不是仅<代码> 0 通过<代码> M< /代码>或<代码> 0 < /代码>通过<代码> n>代码>,请考虑使用<代码> LimStudio函数。

您可以查看类似的例子。好点,这两个问题非常相似。你可以查看一个类似的例子。很好的一点,这两个问题非常相似。因为看起来OP对numpy来说是新的,我想补充一下如何实际获得坐标。如果让
idx=np.sqrt((X-m/2.)**2+(Y-n/2.)**2-R**2)
idx
现在是与
X
大小相同的真/假值掩码。因此,
X[idx]
Y[idx]
只返回圆中的坐标。谢谢,这帮助我注意到我的解决方案中的一个输入错误,我刚刚修复了它。我想你的意思是设置
idx=((X-m/2.)**2+(Y-n/2.)**2)
,因为它看起来像是numpy的新操作,我想添加如何实际获取坐标。如果让
idx=np.sqrt((X-m/2.)**2+(Y-n/2.)**2-R**2)
idx
现在是与
X
大小相同的真/假值掩码。因此,
X[idx]
Y[idx]
只返回圆中的坐标。谢谢,这帮助我注意到我的解决方案中的一个输入错误,我刚刚修复了它。我想你的意思是设置
idx=((X-m/2.)**2+(Y-n/2.)**2)