找回密码
 注册
Simdroid-非首页
查看: 255|回复: 3

求助,混凝土骨料生成算法

[复制链接]
发表于 2011-5-30 17:17:53 | 显示全部楼层 |阅读模式 来自 福建福州
问题如下:

已知,区域260mm*260mm,颗粒数[大,中,小]=[3,5,7],颗粒半径=[60,30,12.5],单位均以mm计。在区域内生成对应颗粒半径的不同骨料。

按大颗粒,中颗粒,小颗粒依次生成骨料。
生成规则:骨料圆心,满足区域内均匀分布。
第一颗满足,边界条件,第二颗满足,不能与第一颗相交且满足边界条件。依次生成。。

思路:
1、用rand函数,生成骨料参数,圆心坐标和半径。X、Y、r。
2、生成第一颗骨料圆心,如果满足边界条件,则X,Y,r存储在数组r(N,:)N=1中。
3、按生成规则生成后续骨料参数。
4、当大骨料生成完之后,生成中骨料和小骨料。直到循环结束。


目前存在的问题是:

如果大骨料分布的不是很好。后面的中小骨料排不进去,不会生成指定颗粒数的中小骨料。即,程序对骨料颗粒数较大的时候不适用。。。

我的思路是:

如果当生成第N颗骨料颗粒的时候,放不下,则,从新开始循环。
但是这样子计算量很大。

求高人指教。。3q
 楼主| 发表于 2011-5-31 12:27:17 | 显示全部楼层 来自 福建福州
Simdroid开发平台
是我自己的问题。。。已经解决了。。
回复 不支持

使用道具 举报

发表于 2011-6-11 08:46:40 | 显示全部楼层 来自 黑龙江哈尔滨
你好,我也遇到了类似的问题,能交流下么?感激不尽!我Q 84338249
谢谢!
回复 不支持

使用道具 举报

发表于 2014-6-16 09:51:19 | 显示全部楼层 来自 湖北宜昌
楼主能指点一下怎么实现的吗
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-30 09:31 , Processed in 0.038961 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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