当前位置: 首页 > 程序语言 >如何在一个区域内生成不同直径的圆形

如何在一个区域内生成不同直径的圆形

作者 一禾平c
来源: 小木虫 250 5 举报帖子
+关注

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

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

但是我现在想要按照面积确定生成的个数,如生成直径1—10的圆形总面积占区域面积的20%,直径为10—20的圆形面积占区域面积的30%,让程序根据是否达到面积要求控制生成的个数,这个如何实现呢?请前辈们指点一下 返回小木虫查看更多

今日热帖
  • 精华评论
  • bcsnow

    边生成边计算面积,达到就停止。如果禁止重叠的话,可能会复杂一些

  • 一禾平c

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

    您好,是的,想要两次生成不同粒径的圆互不相交

  • bcsnow

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

    那不必需相切吧?可先按面积折算出各自的数量,再依次生成,如先生成10个直径在10—20范围内的圆形,再生成20个直径在1—10范围内的圆形。(假设你原来的代码带有不相交功能的)

  • 一禾平c

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

    是的,原代码有控制不想交的功能,但是如何保证第一次生成10—20和第二次生成1—10的不相交呢,用while循环吗

  • bcsnow

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

    不知道你控制的原理是啥,按说不同的直径应该不影响适用性。

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓