lee1892 发表于 2004-2-23 23:26:00

[求助]关于面域Region的生成

我需要将图中某一层内的所有闭合的最小区域(即该区域中不包含其它区域)变成面域,再进行其他运算。<BR>我现在的做法是:<BR>1. 遍历所有的线(仅包括line, arc, circle),确定该线与其他所有的线的交点,按此交点集将该线切割(circle会被切成arc)并置于临时层内<BR>2. 对所有切割后的线的集合使用vla-addregion<BR>会有一些缺点,第一运算量比较大,第二容易出错<BR>有没有更好的办法?<BR>比如利用boundary?

meflying 发表于 2004-2-24 08:38:00

你搜索一下LYY的帖子,有这样的程序了

lee1892 发表于 2004-2-25 20:50:00

你说的是这个贴子吗?[原创]边界轮廓线程序



我看了一下,不太一样,他那个程序生成的是选定OBJECT所构成的最外围的边界,而我要做的是生成每一个最小围合的小边界,见图。


大致看了一下代码,很想知道BOUNDARY命令的参数祥解,帮助里说的不太详细。



图一:我编的程序得到的效果,每一个红框都是一个面域




lee1892 发表于 2004-2-25 20:53:00

图二:LYY兄的效果,仅生成最外围的边界


f5612140 发表于 2004-2-26 09:12:00

最簡單的做法是在欲形成面域的空間內寫上文字,以文字插入點用點選的方式由封閉空間形成面域,只是您會認為這樣的程序比較沒水準吧,但保證這是最有效又不容易出錯的方法

ljcgq 发表于 2004-2-26 19:12:00

我觉的首先求出图中的所有交点,然后从一点开始找距离最近的两点,然后三点生成面域,重复直至结束.

lee1892 发表于 2004-2-26 23:44:00

最簡單的做法是在欲形成面域的空間內寫上文字,以文字插入點用點選的方式由封閉空間形成面域,只是您會認為這樣的程序比較沒水準吧,但保證這是最有效又不容易出錯的方法<BR>数百乃至上千个这样的小块你都去插入文字?<BR>用程序实现的话,已经找到了插入点也就是面域的中间部位,我干吗还插文字阿,直接boundary不就得了,呵呵~


       


我觉的首先求出图中的所有交点,然后从一点开始找距离最近的两点,然后三点生成面域,重复直至结束<BR>三点形成面域?然后用此三点面域的质心去找boundary?<BR>要做很多的尝试。<BR>关键是会生成n多的三角面域,是点的几何级数,运算量更大,呵呵~


我正在修改自己的程序,做一些算法上、实现方法上的改进,过些天放上来,大家给出出主意

ezj2008 发表于 2012-3-4 22:24:11

youmeuyoudaima

wangyonggao8 发表于 2018-7-19 15:34:06

这个思路不错,按这样去思考思考。

fuzhishui 发表于 2020-5-5 23:02:33

版主,有更新吗
页: [1] 2
查看完整版本: [求助]关于面域Region的生成