找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 791|回复: 0

[求助]:如何比较快速的确定多个封闭分区

[复制链接]
发表于 2005-8-23 12:01:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
比如我们用单线来表示梁,许多梁线(只需要直线就可,不需多义线弧线等高级线段)交叉围成了许多封闭区域,可以想象为板块。
现在希望用多义线将各个分区的边界给出。如图?所示

这个程序本来是想拿来作梁板区分界,或者作ansys之类的前处理对不规则网架进行蒙皮便于风载计算。


我的思路是:
1.将所有的线在交点处断开,这个不难做到。
2.将所有交点画出,不重复,这个也不难。
3.历遍所有交点,在交点处画小虚圆,虚圆与交点附近的线段产生虚交点。取出所有的虚交点集,按照与交点的角度进行排序,每两个虚交点的中点取出,用std-bpoly找边,用点自动找边界的时候,增加了一个判断点与已有区域的关系问题,若处于已有边界中,则不再产生。循环。


总算把这个程序勉强弄完,丑陋无比的一个程序,结构挺混乱的,处理10000个区域大概要30分钟,速度奇慢。还是得改

请教各位高手
1)这种区域的历遍,我现在想到的就是用点来历遍,每个点找出周围的区域,然后到下个点,不断循环。不知道有什么更好的历遍法没有。
2)经常需要调用一个std-bpoly来找边界和std-pt-inside-pline来判别点与封闭线的关系,似乎有点罗嗦,不知道有没有什么好方法。

找了很久,居然找到一个类似程序,不过人家水平比我高多了,这个gbpoly判别封闭区域的速度很快,不知道用的什么算法。不过程序有试用期30天。还是再次请教各位高手,有什么好方法来判别,我现在重新想到的方法是准备采用水平线不断的扫描来得到这个结果,不过思路还是比较混乱。

GBPOLY
http://www.geometricad.com/GBPOLY.html
http://www.geometricad.com/app.php?id=1&lang=en
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-22 09:51 , Processed in 0.371077 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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