返回true或者false:

# -*- coding: UTF-8 -*-def isInsidePolygon(pt, poly):c = Falsei = -1l = len(poly)j = l - 1while i < l - 1:i += 1print(i, poly[i], j, poly[j])if ((poly[i][0] <= pt[0] and pt[0] < poly[j][0]) or (poly[j][0] <= pt[0] and pt[0] < poly[i][0])):if (pt[1] < (poly[j][1] - poly[i][1]) * (pt[0] - poly[i][0]) / (poly[j][0] - poly[i][0]) + poly[i][1]):c = not cj = ireturn cif __name__ == '__main__':abc = [[1,1],[1,4],[3,7],[4,4],[4,1]]print(isInsidePolygon([2,5], abc))
返回0或者1:
# -*- coding: UTF-8 -*-def isInsidePolygon(pt, poly):c = 0i = -1l = len(poly)j = l - 1while i < l - 1:i += 

python3射线法判断点是否在多边形内相关推荐

  1. python射线法判断点是否在多边形内

    python3射线法判断点是否在多边形内 射线法 首先我们要先理解什么是射线法.射线法的意思是:在随机点上做一条平行于x轴的射线,方向是x轴正方向,看这条射线与多边形区域的交点个数,如果是偶数,那么这 ...

  2. 射线法判断点是否在多边形内-JAVA

    1.定义点 public class Point {private BigDecimal x;private BigDecimal y;public Point() {};@Overridepubli ...

  3. c#竖直射线法判断点是否再多边形里面

    一.开发环境: VS2017   C#winform 二.竖直射线法大致介绍 通过被判断的点P(x0,y0)引出竖直的上下两条射线,如果两条射线与多变形的交点都为奇数个,那么这个点再多边形里面,反之, ...

  4. 【计算几何】向量叉积和凸包 | 引射线法 | 判断点是否在多边形内部 | 葛立恒扫描法 | Cross Product and Convex Hul

     猛戳!跟哥们一起玩蛇啊 

  5. 判断点是否处于多边形内的三种方法(转)

    1. 叉乘判别法(只适用于凸多边形)想象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将该边与v叉乘,判断 ...

  6. 如何判断一个点在多边形内

    一.从三角形开始说起---怎么判断一个点在三角形内 三角形是最简单的多边形了.先说说三角形有哪些判断方法. 参考自:判断一个点是否在三角形内部 - 知乎 几种方法判断平面点在三角形内_独L无二的博客- ...

  7. 判断一点是否在多边形内(附Java实现代码)

    引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数射线法 时间复杂度:O(n) 适用范围:任意多边形 个人认为是非常不错的算法(不需考虑精度误差和多边形点给出的顺序),可以作为第一选择 ...

  8. 判断点是否位于多边形内(包含凹多边形)

    如果判断点是否在凸多边形内,则有多种方法,方法简单,计算速度也快,直接使用物理引擎做判断也行 但实际问题中遇到的多边形不一定是凸多边形,它可能是凹边行或者复合多边形判断一个点在多边形内或多边形外,射线 ...

  9. python内点法_python射线法判断一个点在图形区域内外

    # -*-encoding:utf-8 -*- # file:class.py # """ 信息楼 0 123.425658,41.774177 1 123.425843 ...

最新文章

  1. 计算机音乐谱打上花火,原神乐谱打上花火
  2. 机器学习特征工程之连续变量离散化:连续变量二值化(Binarizer)
  3. 单臂路由实验(cisco packet tracer 5.2)
  4. oracle迁移postsql的,osdba's blog : Oracle迁移PostgreSQL系列文章之二:merge语句
  5. 设置最小值与最大值 css,一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景...
  6. 如何分析线程转储–线程堆栈跟踪
  7. C语言宏定义中UL的含义
  8. mybatis源码分析(方法调用过程)
  9. 【文本摘要】文本摘要(text summarization)最新研究热点、发展趋势、里程碑论文推荐...
  10. 01.WebService概述和WebService在企业应用中的作用
  11. tftp命令linux,tftp命令使用详解
  12. 使用arcpy遇到的那些坑(二)
  13. 交互设计—超越人机交互(第5版)
  14. SATA 模式相关概念
  15. 思翼FM30高频头蓝牙数传连接地面站远距离通信功能
  16. 一篇小文入门 Python
  17. 1688、京东、拼多多各大电商平台API接口调用示例
  18. 利用python画圆
  19. 开发框架-.Net:Learun(力软敏捷开发)
  20. Python基础—内置函数、匿名函数、递归函数

热门文章

  1. Makefile文件和shell脚本
  2. Linux 环境下的高级隐藏技术
  3. java bufferedreader mark_BufferedReader之mark与reset初探
  4. 条件编译在内核中的使用(技巧1)
  5. unordered_map 碰撞处理 重哈希
  6. 3 账套升级u8_用友U8条码管理的应用对仓库有什么好处?
  7. bom表_MicroProfile 2.2 BOM导入支持
  8. 美国大学计算机专业都学什么,在美国大学计算机专业都学什么.docx
  9. clickhouse 同步mysql_ClickHouse和他的朋友们(9)MySQL实时复制与实现
  10. linux 普通用户touch权限不够_一篇文章让你轻松了解 Linux 的权限