明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 655|回复: 4

[函数] 简单判断点是否在闭合多边形内的小程序

[复制链接]
发表于 2018-5-21 10:29 | 显示全部楼层 |阅读模式
我有一个简单的想法,目标对象是闭合多段线,就是判断它自身任意一个角点是不是在其它角点所形成的多段线内来实现这个功能,如果在内,则去掉这个点,如果在外,则保留,这样走一圈下来,没有去除的点所形成的点集就是凸外接多边形的角点了。
有没有一个简单的功能,能实现判断一个点是否在多段线内
谢谢。(不需要太复杂的那个包罗万象的外接多边形的程序)
发表于 2018-5-21 11:17 | 显示全部楼层
回复 支持 1 反对 0

使用道具 举报

发表于 2018-5-21 11:27 | 显示全部楼层
大概有七种算法,比如
射线法,通过该点与多边形相交为偶数,在外面,奇数在里面。
角度法,计算该点与多边形个顶点夹角,等于360度在里面,小于360在外面
面积法,与各顶点连接的面积和等于多边形面积在里面,不等在外面
还有三角形法,圆弧法等等,自己练习一下,可以提高编程水平。

;;判断p点是否在P1,P2的矩形框内
(vl-every'>=(mapcar'*(mapcar'- p p1)(mapcar'- p2 p))'(0 0))
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-5-21 16:00 | 显示全部楼层
yxp 发表于 2018-5-21 11:27
大概有七种算法,比如
射线法,通过该点与多边形相交为偶数,在外面,奇数在里面。
角度法,计算该点与多 ...

最好理解的是面积法,有相关的小表达式子么
 楼主| 发表于 2018-5-21 16:03 | 显示全部楼层
自贡黄明儒 发表于 2018-5-21 11:17
http://bbs.mjtd.com/thread-177252-1-1.html 9楼

不好意思,没看明白,谢谢你的指引,我再慢慢消化消化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 08:50 , Processed in 0.230271 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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