24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1742  |  回复: 5
【悬赏金币】回答本帖问题,作者一禾平c将赠送您 5 个金币

一禾平c

金虫 (正式写手)

[求助] 如何在一个区域内生成不同直径的圆形已有1人参与

想要通过生成圆形的面积来控制生成的总个数,如何实现?

问题描述:在一个矩形区域内随机生成不同直径大小的圆形,现在能够按个数实现生成,例如生成20个直径在1—10范围内的圆形

但是我现在想要按照面积确定生成的个数,如生成直径1—10的圆形总面积占区域面积的20%,直径为10—20的圆形面积占区域面积的30%,让程序根据是否达到面积要求控制生成的个数,这个如何实现呢?请前辈们指点一下
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bcsnow

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
边生成边计算面积,达到就停止。如果禁止重叠的话,可能会复杂一些
2楼2020-12-18 10:32:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

一禾平c

金虫 (正式写手)

引用回帖:
2楼: Originally posted by bcsnow at 2020-12-18 10:32:53
边生成边计算面积,达到就停止。如果禁止重叠的话,可能会复杂一些

您好,是的,想要两次生成不同粒径的圆互不相交
3楼2020-12-18 19:37:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bcsnow

铁杆木虫 (著名写手)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 一禾平c at 2020-12-18 19:37:19
您好,是的,想要两次生成不同粒径的圆互不相交...

那不必需相切吧?可先按面积折算出各自的数量,再依次生成,如先生成10个直径在10—20范围内的圆形,再生成20个直径在1—10范围内的圆形。(假设你原来的代码带有不相交功能的)
4楼2020-12-20 22:33:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

一禾平c

金虫 (正式写手)

引用回帖:
4楼: Originally posted by bcsnow at 2020-12-20 22:33:09
那不必需相切吧?可先按面积折算出各自的数量,再依次生成,如先生成10个直径在10—20范围内的圆形,再生成20个直径在1—10范围内的圆形。(假设你原来的代码带有不相交功能的)...

是的,原代码有控制不想交的功能,但是如何保证第一次生成10—20和第二次生成1—10的不相交呢,用while循环吗
5楼2020-12-21 08:23:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bcsnow

铁杆木虫 (著名写手)

引用回帖:
5楼: Originally posted by 一禾平c at 2020-12-21 08:23:27
是的,原代码有控制不想交的功能,但是如何保证第一次生成10—20和第二次生成1—10的不相交呢,用while循环吗...

不知道你控制的原理是啥,按说不同的直径应该不影响适用性。
6楼2020-12-21 11:10:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 一禾平c 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见