社区
数据结构与算法
帖子详情
求助!判断点是否在多边形中?谁能给出C语言的代码??
chuchuzinnia
2008-04-07 07:53:49
判断点是否在多边形中?谁能给出C语言的代码??
谢谢拉.............
...全文
153
5
打赏
收藏
求助!判断点是否在多边形中?谁能给出C语言的代码??
判断点是否在多边形中?谁能给出C语言的代码??谢谢拉.............
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
knowledge_Is_Life
2008-04-30
打赏
举报
回复
等待牛人来答.
WuBill
2008-04-08
打赏
举报
回复
下面的程序是由点P向x正方向发射一个射线
bool PointInPolygon(Point p1, Point Polygon[],int PolygonNums)
{
int j=0, count = 0;
for (int i = 0; i < PolygonNums; i++)
{
j = (i == PolygonNums - 1) ? 0 : j + 1;
if ((Polygon[i].y!=Polygon[j].y)&&(((p1.y >= Polygon[i].y)
&& (p1.y < Polygon[j].y)) || ((p1.y >= Polygon[j].y)
&& (p1.y < Polygon[i].y)))
&& (p1.x < (Polygon[j].x - Polygon[i].x) * (p1.y - Polygon[i].y) / (Polygon[j].y - Polygon[i].y) + Polygon[i].x))
{
count++;
}
}
return (count%2>0)?true:false;
}
Point类/结构体你自己定义
ppcat_001
2008-04-08
打赏
举报
回复
图形学里面的扫描线算法吧~
WuBill
2008-04-08
打赏
举报
回复
首先,过p点垂直向上作一条射线(也可以是水平向左)
其次,判断此射线与n边形n条边的交点
最后,把所有交点相加,如果是奇数则说明在多边形内,否则在多边形外
如果射线刚好过了多边形的顶点,好象还有点问题,等我想分析下再回帖
lzy340623339
2008-04-07
打赏
举报
回复
首先要记录下多边形的所有边的端点,然后就通过比较这个点和多边形顶点集合的上下左右临界值。这个属于图形学的内容了
多边形
凹凸性的
判断
、自相交
判断
说明 该博文转载自 弱花3kou 的文章 [OpenGL] 绘制并且
判断
凹凸
多边形
、自相交
多边形
分析 凸
多边形
凹
多边形
自相交
代码
#include <iostream> #include <ctime> #include <math.h> #include <vector> using namespace std; // 定义
点
struct Pos { int x; int y; }; // 定义边 str
判断
两条线段
是否
相交、
点
是否
在
多边形
内(C++)
转自https://www.cnblogs.com/charlee44/p/10704156.html 目录 1. 算法思路 2. 具体实现 3. 改进空间 1. 算法思路
判断
平面内
点
是否
在
多边形
内有多种算法,其
中
射线法是其
中
比较好理解的一种,而且能够支持凹
多边形
的情况。该算法的思路很简单,就是从目标
点
出
发引一条射线,看这条射线和
多边形
所有边的交
点
数目。如果有奇数个交
点
,则说明在内部,如果有偶数个交
点
,则说明在外部。如下图所示: 算法步骤如下: 已知
点
point(x,y)和
多边形
P..
C
语言
利用转角法
判断
点
是否
在
多边形
内
判断
点
是否
在
多边形
内——转角法简介射线法转角法原理算法 简介 今天在拜读南京师范大学张宏老师与温永宁老师的书籍《地理信息系统算法基础》时,收获了新的拓扑算法,所以在此记录一下。 在地理学
中
,探究两个几何对象,
点
与
多边形
的拓扑关系时,经常使用两种方法,分别是射线法与转角法,其
中
射线法更加常用。 射线法 在使用射线法进行
点
与
多边形
的拓扑关系
判断
时,有一个限定条件,即
多边形
必须是一个简单
多边形
,这个
多边形
必须是一个简单的闭合曲线所构成的,在
多边形
所在的平面
中
只有两个相互分离的部分,即
多边形
的外部与
多边形
的内部;且
C++版本
判断
点
是否
落入
多边形
内原理讲解及
代码
实现
C++版本
判断
点
是否
落入
多边形
内原理讲解及
代码
实现1.
判断
点
落在
多边形
内原理1.1面积法1.2角度法1.3射线法2.
判断
点
落在
多边形
内C++
代码
实现 1.
判断
点
落在
多边形
内原理 1.1面积法
判断
目标
点
与
多边形
的每条边组成的三角形面积和
是否
等于该
多边形
,相等则在
多边形
内部。 1.2角度法
判断
目标
点
与所有边的夹角和
是否
为360度,为360度则在
多边形
内部。 1.3射线法 从目标
点
出
发引一条射线,看这条射线和
多边形
所有边的交
点
数目: (1)如果有奇数个交
点
,则说明在内部; (2)如果有偶数个交
点
,则说明在外
点
是否
在
多边形
内的射线判别法及其特殊处理C程序
点
是否
在
多边形
内,是一个很经典的问题,方法也很成熟,但是去github或网上找的资料感觉有些乱,我在他们基础上做了整理,
点
是否
在
多边形
内的判别方法有多种,其算法具体原理在此不赘述,有比较好的博客,我一并放置在此。我要做的是使用射线法来
判断
点
是否
在
多边形
内部并使用
C
语言
实施了其判定过程。 射线判别法原理如下: 从目标
点
出
发引一条射线,看这条射线和多边...
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章