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

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

系統 1974 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 涩涩虎 | aaa一级特黄| 老司机福利精品 | 国产精品自在线拍国产 | 一级片a级片 | 国产成人综合亚洲动漫在线 | 国产欧美在线不卡 | 国产精品第一页爽爽影院 | 97视频免费播放观看在线视频 | 国产一级做a爱片久久毛片a | 久久黄色网| 亚洲国产清纯 | 免费观看精品视频999 | 美女视频黄是免费的 | 夜夜夜夜夜夜夜猛噜噜噜噜噜噜 | 国产精品久久久精品视频 | 羞羞网站免费观看 | 成人精品一区二区三区中文字幕 | 日韩网站在线 | 午夜色站 | 精品欧美日韩一区二区三区 | 91麻豆精品国产91久久久久 | 亚洲线精品久久一区二区三区 | 欧美在线视频免费 | 四虎新地址 | 亚洲欧美v视色一区二区 | 成人免费黄色小视频 | 亚洲第一区二区快射影院 | 中文字幕一区二区三区精彩视频 | 高清亚洲综合色成在线播放放 | 免费看又爽又黄禁片视频1000 | 狠狠狠色丁香婷婷综合久久88 | 国产乱人伦精品一区二区 | 狠狠色噜噜狠狠米奇777 | 午夜一级大片 | 欧美韩一级片 | 性做久久久久免费看 | 可以免费观看的毛片 | 亚洲香蕉一区二区三区在线观看 | 精品色视频 | 免费国产成人午夜在线观看 |