做图软件ps下载网站有哪些内容成都的网站设计公司价格

news/2025/9/27 14:05:39/文章来源:
做图软件ps下载网站有哪些内容,成都的网站设计公司价格,洛阳网站建设哪家公司好,建设服装网站的亮点参考#xff1a;https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html 在GIS#xff08;地理信息管理系统#xff09;中#xff0c;判断一个坐标是否在多边形内部是个经常要遇到的问题。乍听起来还挺复杂。根据W. Randolph Franklin 提出的PNPoly算法#xff0c;…参考https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html 在GIS地理信息管理系统中判断一个坐标是否在多边形内部是个经常要遇到的问题。乍听起来还挺复杂。根据W. Randolph Franklin 提出的PNPoly算法只需区区几行代码就解决了这个问题。 假设多边形的坐标存放在一个数组里首先我们需要取得该数组在横坐标和纵坐标的最大值和最小值根据这四个点算出一个四边型首先判断目标坐标点是否在这个四边型之内如果在这个四边型之外那可以跳过后面较为复杂的计算直接返回false。 if (p.x minX || p.x maxX || p.y minY || p.y maxY) {// 这个测试都过不了。。。直接返回false} 接下来是核心算法部分 int pnpoly(int nvert, float *vertx, float *verty, float testx, float testy) {int i, j, c 0;for (i 0, j nvert-1; i nvert; j i) {if ( ((verty[i]testy) ! (verty[j]testy)) (testx (vertx[j]-vertx[i]) * (testy-verty[i]) / (verty[j]-verty[i]) vertx[i]) )c !c;}return c; }ArgumentMeaningnvertNumber of vertices in the polygon. Whether to repeat the first vertex at the end is discussed below.vertx, vertyArrays containing the x- and y-coordinates of the polygon’s vertices.testx, testyX- and y-coordinate of the test point. 额代码就这么简单但到底啥意思呢 首先参数nvert 代表多边形有几个点。浮点数testx, testy代表待测试点的横坐标和纵坐标vertx,verty分别指向储存多边形横纵坐标数组的首地址。 我们注意到每次计算都涉及到相邻的两个点和待测试点然后考虑两个问题 1.被测试点的纵坐标testy是否在本次循环所测试的两个相邻点纵坐标范围之内即 verty[i] testy verty[j] 或者 verty[j] testy verty[i] 2.待测点test是否在i,j两点之间的连线之下看不懂后半短if statement的朋友请自行在纸上写下i,j两点间的斜率公式要用到一点初中解析几何和不等式的知识范畴对广大码农来说小菜一碟。 然后每次这两个条件同时满足的时候我们把返回的布尔量取反。 可这到底是啥意思啊 这个表达式的意思是说随便画个多边形随便定一个点然后通过这个点水平划一条线先数数看这条横线和多边形的边相交几次或者说先排除那些不相交的边第一个判断条件然后再数这条横线穿越多边形的次数是否为奇数如果是奇数那么该点在多边形内如果是偶数则在多边形外。详细的数学证明这里就不做了不过读者可以自行画多边形进行验证。 判断一个点是否在多边形内部 - 射线法思路 比如说我就随便涂了一个多边形和一个点现在我要给出一种通用的方法来判断这个点是不是在多边形内部别告诉我用肉眼观察……。 首先想到的一个解法是从这个点做一条射线计算它跟多边形边界的交点个数如果交点个数为奇数那么点在多边形内部否则点在多边形外。 这个结论很简单那它是怎么来的下面就简单讲解一下。 首先对于平面内任意闭合曲线我们都可以直观地认为曲线把平面分割成了内、外两部分其中“内”就是我们所谓的多边形区域。 基于这一认识对于平面内任意一条直线我们可以得出下面这些结论 直线穿越多边形边界时有且只有两种情况进入多边形或穿出多边形。 在不考虑非欧空间的情况下直线不可能从内部再次进入多边形或从外部再次穿出多边形即连续两次穿越边界的情况必然成对。 直线可以无限延伸而闭合曲线包围的区域是有限的因此最后一次穿越多边形边界一定是穿出多边形到达外部。 现在回到我们最初的题目。假如我们从一个给定的点做射线还可以得出下面两条结论 如果点在多边形内部射线第一次穿越边界一定是穿出多边形。 如果点在多边形外部射线第一次穿越边界一定是进入多边形。 把上面这些结论综合起来我们可以归纳出 当射线穿越多边形边界的次数为偶数时所有第偶数次包括最后一次穿越都是穿出因此所有第奇数次包括第一次穿越为穿入由此可推断点在多边形外部。 当射线穿越多边形边界的次数为奇数时所有第奇数次包括第一次和最后一次穿越都是穿出由此可推断点在多边形内部。 到这里我们已经了解了这个解法的思路大家可以试着自己写一个实现出来。 不知道大家思考得怎么样有没有遇到一些不好处理的特殊情况。今天就来讲讲射线法在实际应用中的一些问题和解决方案。 1点在多边形的边上 前面我们讲到射线法的主要思路就是计算射线穿越多边形边界的次数。那么对于点在多边形的边上这种特殊情况射线出发的这一次是否应该算作穿越呢 看了上面的图就会发现不管算不算穿越都会陷入两难的境地——同样落在多边形边上的点可能会得到相反的结果。这显然是不正确的因此对这种特殊情况需要特殊处理。 2点和多边形的顶点重合 这其实是第一种情况的一个特例。 3射线经过多边形顶点 射线刚好经过多边形顶点的时候应该算一次还是两次穿越这种情况比前两种复杂也是实现中的难点后面会讲解它的解决方案。 4射线刚好经过多边形的一条边 这是上一种情况的特例也就是说射线连续经过了多边形的两个相邻顶点。 解决方案 1判断点是否在线上的方法有很多比较简单直接的就是计算点与两个多边形顶点的连线斜率是否相等中学数学都学过。 2点和多边形顶点重合的情况更简单直接比较点的坐标就行了。 3顶点穿越看似棘手其实我们换一个角度思路会大不相同。先来回答一个问题射线穿越一条线段需要什么前提条件没错就是线段两个端点分别在射线两侧。只要想通这一点顶点穿越就迎刃而解了。这样一来我们只需要规定被射线穿越的点都算作其中一侧。 如上图假如我们规定射线经过的点都属于射线以上的一侧显然点D和发生顶点穿越的点C都位于射线Y的同一侧所以射线Y其实并没有穿越CD这条边。而点C和点B则分别位于射线Y的两侧所以射线Y和BC发生了穿越由此我们可以断定点Y在多边形内。同理射线X分别与AD和CD都发生了穿越因此点X在多边形外而射线Z没有和多边形发生穿越点Z位于多边形外。 解决了第三点这一点就毫无难度了。根据上面的假设射线连续经过的两个顶点显然都位于射线以上的一侧因此这种情况看作没有发生穿越就可以了。由于第三点的解决方案实际上已经覆盖到这种特例因此不需要再做特别的处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理

深入解析:阿里云推出全球首个全模态AI模型Qwen3-Omni,实现文本、图像、音视频端到端处理2025-09-27 13:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !importan…

第十篇:模块一总结与答疑:如何养成良好的编码习惯和调试思维 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Java网络编程(七):NIO实战构建高性能Socket服务器 - 实践

Java网络编程(七):NIO实战构建高性能Socket服务器 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

完整教程:【大模型理论篇】用于时间序列预测的纯解码器基础模型TimesFM-2.5

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做卡盟网站教程wordpress 翻页

输入:df_Grp,类型是pandas.core.groupby.generic.DataFrameGroupBy 我们先来学习一下如何将分组后的其中一个分组给转换成DataFrame类型: tmp dict(list(df_Grp)) tmpname[] tmpname [i for i,j in df_Grp] #下面这行代码其实就转化成Dat…

Unigine整合Myra UI Library全纪录(3):整合与优化

MyraIntegration 当Texture2DManager,MyraRenderer和MyraPlatform都实现了之后,就可以将它们整合起来了。 首先,IMyraPlatform.Renderer返回实现好的MyraRenderer,而IMyraRenderer.TextureManager则返回实现好的Te…

MOS管 SI2302 KX2302 集成上下拉电阻,优化线路电路,降低物料成本

MOS管 SI2302 KX2302 集成上下拉电阻,优化线路电路,降低物料成本20VDS/+10VGSN沟道增强型MOSFET 功能VDS=20伏 RDS(ON)=64.1MQ(MAX.)@VGS=10V,ID=3A RDS(ON)=80.2MQ(MAX.)@VGS=4.5VID=3A EXCELLENT GATE CHARGEXRDS…

企业网站建设预算地方门户网站怎么赚钱

信号:事件 槽:事件处理函数 信号与槽(Signal & Slot)是 Qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。 信号&#xff0…

Tita 项目经营一体化建筑业企业解决方案

一、建筑行业项目经营管理痛点剖析 (一)项目目标与企业战略脱节 建筑企业承接项目众多,各项目目标常孤立制定,与企业长期战略关联不紧密。例如企业战略聚焦绿色建筑领域拓展,某新建住宅项目却未将绿色环保施工指标…

CD78.【C++ Dev】以AVL任务的bug讲讲调试技巧

CD78.【C++ Dev】以AVL任务的bug讲讲调试技巧pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

网站建设 落地页搭建网站需要的软件下载

1.vim输入中文乱码 在/etc/vimrc最下面输入以下代码 set fileencodingsutf-8,gb2312,gbk,gb18030 set termencodingutf-8 set fileformatsunix set encodingprc 2.vim复制的时候如果有#号,下面的代码开头都会有#号 在编辑模式输入:set paste 再进行粘贴即可 3…

怎样做网站公司做百度推广的业务员电话

kubeadm安装k8s1.25版本集群步骤 环境说明实验环境规划集群搭建规划 初始化安装k8s集群的实验环境安装虚拟机更新yum源和操作系统配置机器主机名配置主机hosts文件,相互之间通过主机名互相访问配置主机之间无密码登录关闭交换分区swap,提升性能修改机器内…

登封网站建设公司设备网站模板

一、类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。但是空类中并不是真的什么都没有,任何类在什么都不写的时候,编译器会自动生成以下 6 个默认成员函数。 默认成员函数:用户没有显式实现,编译器会生成…

实用指南:AI 时代的安全防线:国产大模型的数据风险与治理路径

实用指南:AI 时代的安全防线:国产大模型的数据风险与治理路径pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

写给自己的年终复盘以及未来计划

写完这篇文章,这个系列就告一段落了,忽然间感觉好轻松啊。 依然是理财小白,到底什么时候才能脱离韭菜的队伍?还需要不停的投入精力学习才行,继续努力💪。 2020年的年终复盘 股票篇 年初加入韭菜大军,一路坚持…

最近难得的一点思考

大部分时候,我们是不需要思考的,可是也有那么一两天,你需要思考,如果你不想思考,那么反问自己一些问题,给出问题的答案。大部分情况下,写文章不是一件快乐的事情,但是为什么还要写呢? 这是一个好问题。你怎么…

快递网站模板企业网站建设市场前景

uni.chooseImage的返回值在H5平台和其他平台的返回值有所差异,具体差异看下图 根据图片可以看出要想判断上传的文件类型是不能直接使用type进行判断的,所以我使用截取字符串的形式来判断,当前上传图片的后缀名是否符合所需要求。 要求&#…

石家庄制作网站毕业设计网站开发要做什么

一、HTTPS 是什么 HTTPS 也是⼀个应用层协议,是在 HTTP 协议的基础上引入了⼀个加密层. HTTP 协议内容都是按照文本的方式明文传输的。这就导致在传输过程中出现⼀些被篡改的情况. 在互联网上, 明文传输是比较危险的事情!!! HTTPS 就是在 HTTP 的基础上进行了加密…

陕西省咸阳市建设银行网站北京工厂和商务楼宇稳步复工

题目描述这里有提示,初始页面 进入题目页面如下 很简洁的页面只有一行HELLO WORLD ctrlu查看了源码也没有信息 用burp suite抓包,并发送到重放器 根据提示(初始页面)修改访问index.php文件 index.php index.php 是一种常见的…

np.random.rand

np.random.rand 是 NumPy 库中一个常用的函数,用于创建包含随机数(浮点数)的数组。np.random.rand 详解 1. 核心功能 np.random.rand 生成的随机数服从**[0.0, 1.0) 范围内的均匀分布(Uniform Distribution)**。均…