乐筑天下

帖子
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 110|回复: 9

[VBA]算法请教

[复制链接]

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 15:37:00 | 显示全部楼层 |阅读模式
举个最简单的例子。在主界面下有下图:
file:///C:/Documents%20and%20Settings/zxm/桌面/未命名.bmp
如图,共有九个矩形,每个矩形都是由四根直线围成的,图形中有a,b,c,d四根直线。现在的问题是:现在随机从图形中选择a,b,c,d四根直线中的一条,然后通过offset命令上下或者是左右平移该直线(横向的直线上下移动的距离和纵向的直线左右移动的距离都不大,平移的距离是随机的)时,用VBA怎样编程立即得到与该直线相关联的矩形的面积和中心(例如,当选择直线a时,1,2,4,5,7,8六个矩形都与此直线相关联,当把a左右移动一小段距离时,对应1,2,4,5,7,8六个矩形的面积和中心均发生变化)?
         我现在正在想这样的问题,首先遇到的问题是:
        1.这九个矩形都是由四条直线围成的,在VBA中怎样定义这九个矩形?
        2.当任意选择a,b,c,d四根直线中的一条时,怎样立即判断并得到与这条直线相关联的六个矩形?
3.怎样动态的立即得到平移后这九个矩形的长,宽,面积,中心(在平移前,这九个矩形长,宽,面积,中心等属性已经自动生成属性文件,在平移后,怎样立即更新这九个矩形长,宽,面积,中心等属性文件)?
这些问题困扰我很长时间了,具体用VBA代码怎么样实现?
由于是毕业设计,时间很紧急,请斑竹,各位大虾多多帮忙,谢谢~~
回复

使用道具 举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 15:42:00 | 显示全部楼层
不知道为什么,上面的图像为BMP格式的显示不出来,现在给出其jpg格式的
file:///C:/Documents%20and%20Settings/zxm/桌面/aaa.jpg
回复

举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 15:45:00 | 显示全部楼层
上传此jpg图形,请大家多帮忙~~

sbwtzqaayom.jpg

sbwtzqaayom.jpg

回复

举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 15:51:00 | 显示全部楼层
上图中最上面还有一条直线没有显示出来。
file:///C:/Documents%20and%20Settings/zxm/桌面/bbbb.jpg
回复

举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 15:54:00 | 显示全部楼层
好了,现在第三楼显示的是正确的了,请各位多多给出意见和代码~~十分感谢~~
回复

举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-24 18:43:00 | 显示全部楼层
怎么没有人指点啊~~
回复

举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-4-25 08:29:00 | 显示全部楼层
按坐标判断
回复

举报

61

主题

163

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
407
发表于 2005-4-26 16:06:00 | 显示全部楼层
请问斑竹,按坐标判断怎么判断?能不能给出一个参考例子?这用VBA实现起来困难不?有没有更好的实现方法?谢谢
回复

举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-4-26 20:41:00 | 显示全部楼层
?这没有什么技巧可言,代码应该很简单,你先试着写写吧
回复

举报

11

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2005-5-6 16:18:00 | 显示全部楼层

您的意思,我不是太明白。
不过我认为可以这样解决。首先矩形可以用其四个角的坐标来表示。选中每一直线时,可以遍历所有矩形的四个顶点,若某一矩形有两个顶点在此直线上,则该矩形与此直线相关联。当平移直线时亦可以计算出此直线上点的变化,从而计算出新的矩形的面积和中心。
回复

举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁體中文

GMT+8, 2025-3-17 15:28 , Processed in 1.096057 second(s), 75 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表