[VBA]算法请教
举个最简单的例子。在Autocad主界面下有下图:<IMG align=baseline alt="" border=0 hspace=0 src="file:///C:/Documents%20and%20Settings/zxm/桌面/未命名.bmp">
如图,共有九个矩形,每个矩形都是由四根直线围成的,图形中有a,b,c,d四根直线。现在的问题是:现在<FONT color=#f70909>随机</FONT>从图形中选择a,b,c,d四根直线中的一条,然后通过offset命令上下或者是左右平移该直线(横向的直线上下移动的距离和纵向的直线左右移动的距离都不大,平移的距离是<FONT color=#f70938>随机</FONT>的)时,用VBA怎样编程立即得到与该直线相关联的矩形的面积和中心(例如,当选择直线a时,1,2,4,5,7,8六个矩形都与此直线<FONT color=#ff0000>相关联</FONT>,当把a左右移动一小段距离时,对应1,2,4,5,7,8六个矩形的面积和中心均发生变化)?
我现在正在想这样的问题,首先遇到的问题是:
1.这九个矩形都是由四条直线围成的,在VBA中怎样定义这九个矩形?
2.当任意选择a,b,c,d四根直线中的一条时,怎样立即判断并得到与这条直线相关联的六个矩形?
3.怎样动态的立即得到平移后这九个矩形的长,宽,面积,中心(在平移前,这九个矩形长,宽,面积,中心等属性已经自动生成属性文件,在平移后,怎样立即更新这九个矩形长,宽,面积,中心等属性文件)?
这些问题困扰我很长时间了,具体用VBA代码怎么样实现?
由于是毕业设计,时间很紧急,请斑竹,各位大虾多多帮忙,谢谢~~ 不知道为什么,上面的图像为BMP格式的显示不出来,现在给出其jpg格式的
<IMG align=baseline alt="" border=0 hspace=0 src="file:///C:/Documents%20and%20Settings/zxm/桌面/aaa.jpg"> 上传此jpg图形,请大家多帮忙~~ 上图中最上面还有一条直线没有显示出来。
<IMG align=baseline alt="" border=0 hspace=0 src="file:///C:/Documents%20and%20Settings/zxm/桌面/bbbb.jpg"> 好了,现在第三楼显示的是正确的了,请各位多多给出意见和代码~~十分感谢~~ 怎么没有人指点啊~~ 按坐标判断 请问斑竹,按坐标判断怎么判断?能不能给出一个参考例子?这用VBA实现起来困难不?有没有更好的实现方法?谢谢 ?这没有什么技巧可言,代码应该很简单,你先试着写写吧 本帖最后由 作者 于 2005-5-7 17:12:24 编辑
您的意思,我不是太明白。
不过我认为可以这样解决。首先矩形可以用其四个角的坐标来表示。选中每一直线时,可以遍历所有矩形的四个顶点,若某一矩形有两个顶点在此直线上,则该矩形与此直线相关联。当平移直线时亦可以计算出此直线上点的变化,从而计算出新的矩形的面积和中心。
页:
[1]
2