以下解决方案使用为平行四边形优化的象限漫游算法。它是绕组数算法的一个导数。在

该算法将测试点p放在一个坐标系的中心,并按顺序遍历多边形的顶点,检查“正负轴交叉”。如果轴的交叉数是4的倍数(但不是0),则P在多边形内。直觉上P在多边形内部,如果顶点“穿过所有四个半轴”。因此是4的倍数。在

该算法可以高度优化(特别适合汇编程序实现),并且运行速度快。在

这是在Delphi中,使用与MBo的答案中给出的函数ptinpgm相同的参数顺序function PtInPlgm2( bx, by, ax, ay, cx, cy, px, py: double ): boolean;

var

Sum : integer;

dx, dy : double;

begin

Sum := 0;

dx := cx - bx + ax;

dy := cy - by + ay;

if ( px < ax ) <> ( px < bx ) then inc( Sum );

if ( py < ay ) <> ( py < by ) then inc( Sum );

if ( px < bx ) <> ( px < cx ) then inc( Sum );

if ( py < by ) <> ( py < cy ) then inc( Sum );

if ( px < cx ) <> ( px < dx ) then inc( Sum );

if ( py < cy ) <> ( py < dy ) then inc( Sum );

if ( px < dx ) <> ( px < ax ) then inc( Sum );

if ( py < dy ) <> ( py < ay ) then inc( Sum );

Result := (Sum mod 4 = 0) AND (Sum <> 0);

end;

我相信没关系,我没有提供Python实现

python平行四边形函数_在Python中,如何确定一个点是否在某个平行四边形内?相关推荐

  1. python isalnum函数_探究Python中isalnum()方法的使用

    探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...

  2. python pos函数_使用python+sklearn实现特征提取

    sklearn.feature_extraction模块可用于以机器学习算法支持的格式从原始数据集(如文本和图像)中提取特征.**注意:**特征提取与特征选择有很大不同:前者是将任意数据(例如文本或图 ...

  3. python deepcopy函数_用Python解数独[6]:递归获得最终答案

    目录 用Python解数独[0] 用Python解数独[1]:求每个单元格的行值域 用Python解数独[2]:求列值域和九宫格值域 用Python解数独[3]:求总值域 用Python解数独[4]: ...

  4. python 微积分 函数_用Python学微积分(2)---复合函数

    函数的复合(Composition) 定义:设函数y=f(u)和u=g(x)u=g(x),则函数y=f[g(x)]称为由y=f(u)和u=g(x)复合而成的复合函数,其中函数y=f(u)常常称为外函数 ...

  5. python decimal函数_(转)python学习笔记5--decimal

    原文:https://blog.csdn.net/lemonwyc/article/details/37583125 上一节提到了除了基本类型之外的decimal,这节就学习下. 查看python3. ...

  6. python readlines函数_关于python的readlines

    此处记录一下python的 read readline readlines 由于readlines()产生了一个可怕的bug,索性影响不大,此处记录一下: 建议python读取文件,存在文件过大,不能 ...

  7. python getattr函数_[转]Python中的getattr()函数详解

    看了下函数本身的doc getattr(object, name[, default]) -> value Get a named attribute from an object; getat ...

  8. python 编译函数_在Python的Django框架中编写编译函数

    当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数. 这个函数负责返回一个和当前模板标签内容相对应的节点(Node)的 ...

  9. python enumerate函数_关于python中enumerate和zip函数的用法及举例

    关于python中enumerate和zip函数的用法及举例 关于enumerate函数: enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返 ...

最新文章

  1. 使用简单的轻量级移动web应用开发框架 - Sidetap
  2. 58.最全正则表达式教程,最好正则表达式教程
  3. 【问题解决】ESP32 Brownout detector was triggered,log报错Brownout解决方法
  4. 5-Interrupt Management Framework
  5. LiveBos---按钮成下拉
  6. 保存到本地_手把手教你将微信表情包保存到本地
  7. mysql导入的excel更新_excel导入数据库,存在则更新不存在添加
  8. IE浏览器常见CSS兼容性问题及解决办法
  9. pyqt5 实现右键自定义_Python界面(GUI)编程PyQt5事件和信号
  10. pytroch中的Variable()介绍
  11. html固定表格宽度代码,如何固定HTML表格的宽度
  12. springboot集成微信公众号文章推送
  13. perl练习——FASTA格式文件中序列GC含量计算perl数组排序如何获得下标或者键
  14. 南大衣哥、北袁长标,恭喜谷传民新歌准备报送央视春晚
  15. Ant笔记(一)Ant下载与安装
  16. idea 复制java文件_IDEA复制项目Module出现java文件夹source root解决方法
  17. 歌单助手:一键导出网易云音乐歌单列表,推荐你喜爱的专辑
  18. 卷积神经网络和循环神经网络的思想内核是什么
  19. 爱普生墨仓式打印机故障检查,卡纸,清洗打印头,补充墨水详解(非常实用)
  20. 鼎盛福分析抖音怎么样做店铺服务获取竞争优势

热门文章

  1. 各大数据库厂商怎样看竞争对手
  2. 51NOD 1278 相离的圆(二分 + 排序 好题)
  3. 北大青鸟消防控制器组网_北大青鸟JBF-11SF-AC801显示控制盘
  4. 在金山云上,“雷布斯”有这些野心
  5. win10关机后cpu风扇还在转_win10关机后风扇一直转,长按电源键才关闭怎么办
  6. 招聘网探究分析报告(以描述性分析为主)
  7. 面试必问 | HBase最新面试总结
  8. 7月7日云栖精选夜读:专访 | 杨强教授谈CCAI、深度学习泡沫与人工智能入门
  9. 20175208 实验二 《Java面向对象程序设计》实验报告
  10. (详细易懂)一篇文章让你读懂到底什么是Ajax