多边形中的点:什么是xints?

2024-09-30 01:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下代码检查点是否位于给定多边形的内部或外部:

def point_in_poly(x,y,poly):

  n = len(poly)
  inside = False

  p1x,p1y = poly[0]
  for i in range(n+1):
      p2x,p2y = poly[i % n]
      if y > min(p1y,p2y):
          if y <= max(p1y,p2y):
              if x <= max(p1x,p2x):
                  if p1y != p2y:
                      xints = (y-p1y)*(p2x-p1x)/(p2y-p1y)+p1x
                  if p1x == p2x or x <= xints:
                      inside = not inside
      p1x,p1y = p2x,p2y

  return inside

现在xints没有在函数中定义。如果if p1y != p2y:条件失败,那么将没有xint,并且当它将检查下一个条件if p1x == p2x or x <= xints:它将没有“xint”时会发生什么。这让我很烦恼。我想我错过了一些愚蠢的事情给你。有吗感谢帮助。在


Tags: or代码inif条件检查点maxinside

热门问题