最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3射線法判斷點(diǎn)是否在多邊形內(nèi)

 更新時間:2019年06月28日 10:51:27   作者:ShawDa  
這篇文章主要為大家詳細(xì)介紹了python3射線法判斷點(diǎn)是否在多邊形內(nèi),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

#!/usr/bin/python3.4
# -*- coding:utf-8 -*-
 
 
def isPointinPolygon(point, rangelist): #[[0,0],[1,1],[0,1],[0,0]] [1,0.8]
  # 判斷是否在外包矩形內(nèi),如果不在,直接返回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]
    # 點(diǎn)與多邊形頂點(diǎn)重合
    if (point[0] == point1[0] and point[1] == point1[1]) or (point[0] == point2[0] and point[1] == point2[1]):
      print("在頂點(diǎn)上")
      return False
    # 判斷線段兩端點(diǎn)是否在射線兩側(cè) 不在肯定不相交 射線(-∞,lat)(lng,lat)
    if (point1[1] < point[1] and point2[1] >= point[1]) or (point1[1] >= point[1] and point2[1] < point[1]):
      # 求線段與射線交點(diǎn) 再和lat比較
      point12lng = point2[0] - (point2[1] - point[1]) * (point2[0] - point1[0])/(point2[1] - point1[1])
      print(point12lng)
      # 點(diǎn)在多邊形邊上
      if (point12lng == point[0]):
        print("點(diǎn)在多邊形邊上")
        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]]))

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中的__dict__屬性介紹

    python中的__dict__屬性介紹

    這篇文章主要介紹了python中的__dict__屬性介紹,首先通過將字典轉(zhuǎn)換成對象的小技巧,展開標(biāo)題介紹,具有一定的參考價值,下文具體的相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • Swin?Transformer圖像處理深度學(xué)習(xí)模型

    Swin?Transformer圖像處理深度學(xué)習(xí)模型

    這篇文章主要為大家介紹了Swin?Transformer圖像處理深度學(xué)習(xí)模型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python 概率生成問題案例詳解

    Python 概率生成問題案例詳解

    這篇文章主要介紹了Python 概率生成問題案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • pytorch常見的Tensor類型詳解

    pytorch常見的Tensor類型詳解

    今天小編就為大家分享一篇pytorch常見的Tensor類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python控制多進(jìn)程與多線程并發(fā)數(shù)總結(jié)

    Python控制多進(jìn)程與多線程并發(fā)數(shù)總結(jié)

    本篇文章主要介紹了Python控制多進(jìn)程與多線程并發(fā)數(shù),詳細(xì)講訴了進(jìn)程和線程的區(qū)別,并介紹了處理方法,有需要的朋友可以了解一下。
    2016-10-10
  • python文件操作之批量修改文件后綴名的方法

    python文件操作之批量修改文件后綴名的方法

    這篇文章主要介紹了python文件操作之批量修改文件后綴名,需要的朋友可以參考下
    2018-08-08
  • 快速進(jìn)修Python指南之網(wǎng)絡(luò)編程及并發(fā)編程

    快速進(jìn)修Python指南之網(wǎng)絡(luò)編程及并發(fā)編程

    這篇文章主要為大家介紹了Java開發(fā)者如何快速進(jìn)修Python指南之網(wǎng)絡(luò)編程及并發(fā)編程實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 詳解Python自建logging模塊

    詳解Python自建logging模塊

    本篇文章給大家詳細(xì)分析了Python自建logging模塊的方法和代碼分享,有需要的朋友參考學(xué)習(xí)下吧。
    2018-01-01
  • python排序算法之歸并排序

    python排序算法之歸并排序

    這篇文章主要介紹了python排序算法之歸并排序,歸并排序算法就是一個先把數(shù)列拆分為子數(shù)列,對子數(shù)列進(jìn)行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04
  • python的mysqldb安裝步驟詳解

    python的mysqldb安裝步驟詳解

    這篇文章主要介紹了python的mysqldb安裝步驟詳解的相關(guān)資料,這里提供實(shí)現(xiàn)的具體步驟,需要的朋友可以參考下
    2017-08-08

最新評論

和静县| 东乌| 新泰市| 中西区| 拜泉县| 石门县| 三河市| 金寨县| 崇仁县| 子洲县| 两当县| 惠州市| 垣曲县| 贵定县| 杨浦区| 班玛县| 玉山县| 缙云县| 丘北县| 曲周县| 阿城市| 华池县| 石泉县| 昭通市| 大方县| 永寿县| 汉中市| 赞皇县| 称多县| 合肥市| 马鞍山市| 津市市| 天峨县| 蒙山县| 阿巴嘎旗| 南汇区| 云梦县| 海林市| 宁武县| 中宁县| 班玛县|