亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3射線法判斷點是否在多邊形內

系統 2174 0

本文實例為大家分享了python3射線法判斷點是否在多邊形內的具體代碼,供大家參考,具體內容如下

            
#!/usr/bin/python3.4
# -*- coding:utf-8 -*-
 
 
def isPointinPolygon(point, rangelist): #[[0,0],[1,1],[0,1],[0,0]] [1,0.8]
  # 判斷是否在外包矩形內,如果不在,直接返回false
  lnglist = []
  latlist = []
  for i in range(len(rangelist)-1):
    lnglist.append(rangelist[i][0])
    latlist.append(rangelist[i][1])
  print(lnglist, latlist)
  maxlng = max(lnglist)
  minlng = min(lnglist)
  maxlat = max(latlist)
  minlat = min(latlist)
  print(maxlng, minlng, maxlat, minlat)
  if (point[0] > maxlng or point[0] < minlng or
    point[1] > maxlat or point[1] < minlat):
    return False
  count = 0
  point1 = rangelist[0]
  for i in range(1, len(rangelist)):
    point2 = rangelist[i]
    # 點與多邊形頂點重合
    if (point[0] == point1[0] and point[1] == point1[1]) or (point[0] == point2[0] and point[1] == point2[1]):
      print("在頂點上")
      return False
    # 判斷線段兩端點是否在射線兩側 不在肯定不相交 射線(-∞,lat)(lng,lat)
    if (point1[1] < point[1] and point2[1] >= point[1]) or (point1[1] >= point[1] and point2[1] < point[1]):
      # 求線段與射線交點 再和lat比較
      point12lng = point2[0] - (point2[1] - point[1]) * (point2[0] - point1[0])/(point2[1] - point1[1])
      print(point12lng)
      # 點在多邊形邊上
      if (point12lng == point[0]):
        print("點在多邊形邊上")
        return False
      if (point12lng < point[0]):
        count +=1
    point1 = point2
  print(count)
  if count%2 == 0:
    return False
  else:
    return True
 
 
if __name__ == '__main__':
  print(isPointinPolygon([0.8,0.8], [[0,0],[1,1],[0,1],[0,0]]))
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品日韩一区二区 | 欧美激情在线精品一区二区 | 国产美女午夜精品福利视频 | 亚洲欧美日韩图片 | 女人色毛片女人色毛片中国 | 99精品国产综合久久久久 | 精品国产福利 | 欧美成人免费全部观看天天性色 | 精品国产夜色在线 | 免费久福利视频在线观看 | 天天拍夜夜操 | 日韩欧美在线观看成人 | 国产精品成 | 国内精品一区视频在线播放 | 日韩欧美理论 | 欧美日韩小视频 | 2022国产成人综合精品 | 久热影视 | 爱爱一区 | 国产精品亚洲欧美大片在线看 | 日韩在线视频在线 | 日本毛片网 | 伊人网综合在线视频 | 亚洲欧洲久久 | 国产成人a毛片 | 精品亚洲成a人在线观看 | 国产亚洲精品久久久久久无 | 久久国产亚洲高清观看5388 | 黄片毛片在线观看 | 免费在线一区二区三区 | 久久精品成人免费看 | 国产亚洲高清在线精品99 | 国产成年人网站 | 日本一区二区三区久久 | 色久优优 欧美色久优优 | 国产玖玖在线 | xxx中国bbbwww | 888午夜不卡理论久久 | 亚洲精品宾馆在线精品酒店 | 女人一级一级毛片 | 久久y|