怎么判断1个点在一个不规则的四边形内

 我来答
晏漾漾达农
2020-02-02 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:25%
帮助的人:732万
展开全部
这个是属于计算几何算法了,判断一个点是否属于任意多边形,就要以这个点为横坐标,画一条横向射线,如果和多边形的交点个数为奇数则在多边形内,否则桐迹就在外,特殊情况:
1、当射线与其中局清并一条边重合,那么边忽略不计;
2、当射线正敏与其中一顶点相交(外凸),交点只能计算一个;
3、当射线与其中一顶点相交(内凹),交点不应被计算;
下面为伪代码:
count

0;
以(x,y)为端点,作从右向左的射线l;
for
多边形的每条边s
do
if
(x,y)在边s上
then
return
true;
if
s不是水平的
then
if
s的一个端点在l上
if
该端点是s两端点中纵坐标较大的端点
then
count

count+1
else
if
s和l相交
then
count

count+1;
if
count
mod
2
=
1
then
return
true;
else
return
false;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式