supercorn 发表于 2004-9-30 13:05:00

大难特难的问题?想不出呀。郁闷死了。

我是想求如图中任意几条线段所组成的一个闭合区域的面积,


如图的蓝色线条所围成的一个区域,或者是红色线条所围成的区域的面积。


实在不会做呀。请大侠们帮助!!!

xyp1964 发表于 2004-9-30 13:59:00

搜索“封闭域面积标注”的帖子。

zfbj 发表于 2004-9-30 15:28:00

构成区域的实体有什么条件?


譬如所有红色的实体构成一个区域?

supercorn 发表于 2004-9-30 15:30:00

对,是这个意思,是所有红色实体构成的一个区域。

supercorn 发表于 2004-9-30 15:34:00

<A name=56028><FONT color=#990000><B>xyp1964</B></FONT></A>版主可能理解有误,因为在这个问题中没办法用鼠标点击来求面域的,除非要对所有围着的区域中的各个小块进行点击,然后求和。这样就满足我的要求了。

zfbj 发表于 2004-9-30 15:39:00

如果你对VBA有一定基础,应该明白可以通过选择集过滤或者遍历图形数据库来获得组成一个区域的对象,然后就可以使用AddRegion的方法添加一个区域。


在这个过程中,你对哪些方面不了解?

supercorn 发表于 2004-9-30 15:44:00

是的,你说得没错。问题是请帮主看一下蓝色线条围成的区域。它就没办法创建了。因为它有交叉部分。不是首尾闭合的。

supercorn 发表于 2004-9-30 15:50:00

如果能解决些贴的问题,这些问题就都可以解决了。


<A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=26904" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=26904</A>

zfbj 发表于 2004-9-30 15:56:00

如果这组对象已经选择出来,就可以按照一个方向(例如逆时针方向),先选择一条直线的起点,再该点选择符合要求的对象,应该能得到两个对象;


对这两个对象求交点,看交点是否是上一次进行选择通过的点,如果不是,则对两者进行剪切处理(至于判断剪去那一边,要看另一个端点是否与选择集内其它的对象首尾相接,但是这种方法不适用于两个端点均不首尾相接的情况);


转到上面的第二条直线的另一个端点,进行重复操作,直到操作的最后一个点与起始点重合。

supercorn 发表于 2004-9-30 16:01:00

帮主:有没有相关的代码进行参考?我对程序进行裁剪,没用过。
页: [1] 2
查看完整版本: 大难特难的问题?想不出呀。郁闷死了。