Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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,我将meshgrid定义为: from numpy import * x = arange(0,1107,1) y = arange(0,1129,1) xx,yy = meshgrid(x,y) 我试图得到任意两个端部细胞之间的细胞坐标。例如,当这两个点通过直线连接时,位于(435550)和(987980)之间的所有单元格的坐标。所以基本上就是找到单元坐标,直线通过它。任何帮助都很好。提前感谢。您试图解决的问题相当于在二维像素阵列中绘制一条线 看看这个:和 您必须精确

我将
meshgrid
定义为:

from numpy import *    
x = arange(0,1107,1)    
y = arange(0,1129,1)    
xx,yy = meshgrid(x,y)

我试图得到任意两个端部细胞之间的细胞坐标。例如,当这两个点通过直线连接时,位于
(435550)
(987980)
之间的所有单元格的坐标。所以基本上就是找到单元坐标,直线通过它。任何帮助都很好。提前感谢。

您试图解决的问题相当于在二维像素阵列中绘制一条线

看看这个:和


您必须精确定义“中间”的含义,即如果xstart、ystart和xend、yend之间的直线与矩形(x、y、x+1、y+1)相交,则包含一个单元格(x、y)。(或者:您是否希望线路位于xstart+0.5、ystart+0.5等?

欢迎使用。请先尝试一些东西,然后告诉我们你通过回答这个问题尝试了什么,并准确地指出问题出在哪里。我是通过画线算法得到这个想法的。基本上,我选择了一个像素,并根据直线方程将x坐标增加了0.5和y:斜率*(x-x1)+y1,斜率使用两点公式计算。最后,我写了一个代码来检查视觉上是否有重复或丢失的像素,并用图像统计了一些像素,这很好。多亏了你。