明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1557|回复: 4

[求助] 请教个最小封闭区域算法

[复制链接]
发表于 2021-7-27 16:39:53 | 显示全部楼层 |阅读模式
如下图所示,蓝色是闭合多段线,橙色是非闭合多段线且与蓝色多段线相交于两点(如左图)。
希望取得由橙色多段线与蓝色多段线构成的封闭多段线(如右图)。

请问算法上如何实现呢,因为直接读取坐标值循迹,可能取得最大的那个封闭图形。
感谢指教。

本帖子中包含更多资源

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

x
 楼主| 发表于 2021-7-27 17:12:47 | 显示全部楼层
想到如下方法,不知道有没有更好的。
1.通过交点,重新生成有效的橙色多段线C(去掉两端突出的部分)
2.通过交点,将蓝色多段线打断成两条多段线A,B
3.C分别与A和B组成新的闭合多段线P1,P2
4.比较P1和P2的面积,面积较小者即为所求
发表于 2021-8-3 17:31:36 | 显示全部楼层
1.求交点
2.循环(2次):交点与相关实体组成点表---求点表平均值坐标(中心坐标)---以中心坐标提取面域
3.保存所有的面域,根据面积比较,找出最小的那个
 楼主| 发表于 2021-8-4 08:38:37 | 显示全部楼层
本帖最后由 bluelover 于 2021-8-4 17:25 编辑

谢谢回复。
求点表平均值坐标(中心坐标)——这个方法对凹图形有可能失效,因为这个点可能在封闭图形外部。
我现在还是考量用多段线打断并组合成新的封闭多段线的方式进行处理,感觉这个方法更可靠。
发表于 2021-9-18 20:41:26 | 显示全部楼层
大量的求最小封闭区域涉及好几个算法,少量的就使用自带的命令boundary,bpoly就可以得到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 21:50 , Processed in 0.166678 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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