| 查看: 3220 | 回复: 2 | ||
[求助]
利用matlab生成圆心随机分布,但圆不重叠的随机圆
|
|
我想用Matlab实现一个画圆的小程序: (1)圆心坐标随机生成,圆的半径从最大值到最小值随机分布; (2)圆在一定边界之内,各圆之间不能重叠或者包含; (3)任意分布的圆外边包着一层薄皮,圆之间不可以侵入,薄皮彼此可以侵入。 各位matlab大神可以不可帮忙编出这个程序啊 |
» 猜你喜欢
面上可以超过30页吧?
已经有13人回复
网上报道青年教师午睡中猝死、熬夜猝死的越来越多,主要哪些原因引起的?
已经有10人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有13人回复
什么是人一生最重要的?
已经有8人回复
版面费该交吗
已经有17人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有19人回复
【博士招生】太原理工大学2026化工博士
已经有8人回复
280求调剂
已经有4人回复
musclecon
银虫 (小有名气)
- 应助: 6 (幼儿园)
- 金币: 1488.2
- 红花: 3
- 帖子: 197
- 在线: 111.7小时
- 虫号: 2129866
- 注册: 2012-11-13
- 专业: 交通工程
【答案】应助回帖
感谢参与,应助指数 +1
|
这个不难啊,用matlab或者fortran都可以。 以前我用的fortran编写的,按几个顺序走 一是通过随机数生成你要求的圆的数量; 二是对生成的圆按粒径大小进行排序(就是做一个循环,循环里边比较圆的大小后面圆的和第一个比,大了就排到前边); 三是对圆进行投放,注意控制边界重叠问题,通过任意两个圆的圆心坐标距离要大于半径和;如果要在圆的外面包一层“薄皮”的话,圆心距离要大于半径和+2个薄皮厚度(或者自己设置); 四是“薄皮”的生成,在前边每个圆生成的时候,只需要在圆外面再多生成一个同心圆就可以了,后边的排序也可按照外圈的圆来控制 |
2楼2013-05-27 17:52:22
3楼2013-05-28 09:05:37













回复此楼