乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 106|回复: 6

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

[复制链接]

15

主题

127

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 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))
回复

使用道具 举报

2

主题

46

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

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

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

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

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
2
发表于 2003-1-13 19:50:00 | 显示全部楼层
《电脑爱好者》发表过有关点与多边形关系的擂台比赛文章。
回复

使用道具 举报

14

主题

230

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

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

使用道具 举报

4

主题

7

帖子

2

银币

初来乍到

Rank: 1

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

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 06:55 , Processed in 0.199537 second(s), 66 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表