明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4829|回复: 8

[原创] 请教:如何判断一坐标点在四边形内还是在四边形外?

[复制链接]
发表于 2003-1-13 14:05:00 | 显示全部楼层 |阅读模式
已知条件:四边形的顶点坐标,另一坐标点的坐标。
判    断:该点和四边形的关系,内,外还是在边上?
发表于 2003-1-13 14:31:00 | 显示全部楼层

在这给个算法


如上图,要判断点E是否在四边形ABCD内部或外部或在某条边上。
可以判断点E是否在三角形ABC及三角形BCD内。若点E在三角形ABC内部,则三角形ABE的面积+三角形BCE的面积+三角形ACE的面积=三角形ABC的面积。反之则点E在三角形ABC外部。若点E的三角形的某条边上,则相应面积为零。根据点E与三角形ABC和BCD的位置关系不难得出点E与四边形ABCD的位置关系。
附上三角形面积计算:
设a,b,c为三角形三条边长,令s=(a+b+c)/2,则面积为
sqrt(s(s-a)(s-b)(s-c))

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2003-1-13 15:48:00 | 显示全部楼层

千万要注意:

leeyeafu大虾的算法非常好,但千万要注意一点:即E点在BC线上的情况。当E点在BC线上,且不是点B或C时,E点应在四边形内。不能因为按说明“若点E在三角形的某条边上,则相应面积为零”,得出点E在两三角形的边上,而判断出点E在四边形的边上。
发表于 2003-1-13 19:25:00 | 显示全部楼层

Re: 判断点的位置

在CAD基础技术中,有一种算法是用射线法来判断一点与多边形的位置,可以参考一下。对于四边形更简单,如果点与四边形的交点为奇数,那么位于四边形的内部,如果交点为偶数,那么位于外部,在四边形的边上的算法就是依次判断点在直线上的问题。
发表于 2003-1-13 19:50:00 | 显示全部楼层

如何判断一坐标点在四边形内还是在四边形外?

《电脑爱好者》发表过有关点与多边形关系的擂台比赛文章。
发表于 2003-1-14 07:45:00 | 显示全部楼层

要注意的还不止这些

要保证BC边确是四边形的对角线,另外还要注意四边形是凹四边形的情况。
另外,ysf505朋友是否可以介绍《电脑爱好者》的获奖算法?
 楼主| 发表于 2003-1-14 11:59:00 | 显示全部楼层

非常感谢,我明白了?

发表于 2003-1-17 11:50:00 | 显示全部楼层

请教!!

请教,对于“射线法”还是有些不解,比如:如何用将要判断的那个点的坐标表示成射线?请帮忙解答,谢谢!
发表于 2003-1-17 17:23:00 | 显示全部楼层

那一年的电脑爱好者呢

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 18:35 , Processed in 0.154204 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表