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

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

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

本文實(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)題介紹,具有一定的參考價(jià)值,下文具體的相關(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類型詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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排序算法之歸并排序,歸并排序算法就是一個(gè)先把數(shù)列拆分為子數(shù)列,對子數(shù)列進(jìn)行排序后,再把有序的子數(shù)列合并為完整的有序數(shù)列的算法,需要的朋友可以參考下
    2023-04-04
  • python的mysqldb安裝步驟詳解

    python的mysqldb安裝步驟詳解

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

最新評論

古浪县| 开平市| 横峰县| 如皋市| 张家港市| 哈巴河县| 巴林右旗| 社会| 仁怀市| 平南县| 屯门区| 南澳县| 西藏| 界首市| 交城县| 肃宁县| 长葛市| 什邡市| 台湾省| 湾仔区| 正蓝旗| 瓮安县| 思南县| 汕尾市| 洛宁县| 高雄市| 株洲市| 射洪县| 雷州市| 冷水江市| 松江区| 武邑县| 封丘县| 漠河县| 泸州市| 富顺县| 新密市| 安达市| 郁南县| 当阳市| 微山县|