python3射线法判断点是否在多边形内
返回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射线法判断点是否在多边形内相关推荐
- python射线法判断点是否在多边形内
python3射线法判断点是否在多边形内 射线法 首先我们要先理解什么是射线法.射线法的意思是:在随机点上做一条平行于x轴的射线,方向是x轴正方向,看这条射线与多边形区域的交点个数,如果是偶数,那么这 ...
- 射线法判断点是否在多边形内-JAVA
1.定义点 public class Point {private BigDecimal x;private BigDecimal y;public Point() {};@Overridepubli ...
- c#竖直射线法判断点是否再多边形里面
一.开发环境: VS2017 C#winform 二.竖直射线法大致介绍 通过被判断的点P(x0,y0)引出竖直的上下两条射线,如果两条射线与多变形的交点都为奇数个,那么这个点再多边形里面,反之, ...
- 【计算几何】向量叉积和凸包 | 引射线法 | 判断点是否在多边形内部 | 葛立恒扫描法 | Cross Product and Convex Hul
猛戳!跟哥们一起玩蛇啊
- 判断点是否处于多边形内的三种方法(转)
1. 叉乘判别法(只适用于凸多边形)想象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将该边与v叉乘,判断 ...
- 如何判断一个点在多边形内
一.从三角形开始说起---怎么判断一个点在三角形内 三角形是最简单的多边形了.先说说三角形有哪些判断方法. 参考自:判断一个点是否在三角形内部 - 知乎 几种方法判断平面点在三角形内_独L无二的博客- ...
- 判断一点是否在多边形内(附Java实现代码)
引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数射线法 时间复杂度:O(n) 适用范围:任意多边形 个人认为是非常不错的算法(不需考虑精度误差和多边形点给出的顺序),可以作为第一选择 ...
- 判断点是否位于多边形内(包含凹多边形)
如果判断点是否在凸多边形内,则有多种方法,方法简单,计算速度也快,直接使用物理引擎做判断也行 但实际问题中遇到的多边形不一定是凸多边形,它可能是凹边行或者复合多边形判断一个点在多边形内或多边形外,射线 ...
- python内点法_python射线法判断一个点在图形区域内外
# -*-encoding:utf-8 -*- # file:class.py # """ 信息楼 0 123.425658,41.774177 1 123.425843 ...
最新文章
- 计算机音乐谱打上花火,原神乐谱打上花火
- 机器学习特征工程之连续变量离散化:连续变量二值化(Binarizer)
- 单臂路由实验(cisco packet tracer 5.2)
- oracle迁移postsql的,osdba's blog : Oracle迁移PostgreSQL系列文章之二:merge语句
- 设置最小值与最大值 css,一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景...
- 如何分析线程转储–线程堆栈跟踪
- C语言宏定义中UL的含义
- mybatis源码分析(方法调用过程)
- 【文本摘要】文本摘要(text summarization)最新研究热点、发展趋势、里程碑论文推荐...
- 01.WebService概述和WebService在企业应用中的作用
- tftp命令linux,tftp命令使用详解
- 使用arcpy遇到的那些坑(二)
- 交互设计—超越人机交互(第5版)
- SATA 模式相关概念
- 思翼FM30高频头蓝牙数传连接地面站远距离通信功能
- 一篇小文入门 Python
- 1688、京东、拼多多各大电商平台API接口调用示例
- 利用python画圆
- 开发框架-.Net:Learun(力软敏捷开发)
- Python基础—内置函数、匿名函数、递归函数
热门文章
- Makefile文件和shell脚本
- Linux 环境下的高级隐藏技术
- java bufferedreader mark_BufferedReader之mark与reset初探
- 条件编译在内核中的使用(技巧1)
- unordered_map 碰撞处理 重哈希
- 3 账套升级u8_用友U8条码管理的应用对仓库有什么好处?
- bom表_MicroProfile 2.2 BOM导入支持
- 美国大学计算机专业都学什么,在美国大学计算机专业都学什么.docx
- clickhouse 同步mysql_ClickHouse和他的朋友们(9)MySQL实时复制与实现
- linux 普通用户touch权限不够_一篇文章让你轻松了解 Linux 的权限