NCF参数化建筑论坛

标题: 如何在一个区间内随机取三个数,并保证他们的差的最小值大于一个数 [打印本页]

作者: DustinChan    时间: 2020-8-24 22:56
标题: 如何在一个区间内随机取三个数,并保证他们的差的最小值大于一个数


作者: bapibaima    时间: 2021-5-1 14:21
1.现在的随机实际上是假随机。
2.先设定一个区间如1-20;从中选择1个随机数,设定好随机种子;
3.把这个数+和-那个差值,形成大小2个数;大数与20形成新区间,从这个区间选出1个数;同样,在小数与1的区间也随机选择1个数;
4.这样把这3个数组合在一起,就是随机选择的3个数,且任意两个差,都大于那个差值。
5.通过调整三次选择随机数的随机种子,可以有不同的组合;
原理是利用中间随机值(3个数里一定会有中间值),按照差值间距,划分区间,各自在各自区间抓取随机值,保证差值条件能满足。由于中间值是随机的,每次选择也是随机的,相当于一次性获得了3个值,当然还可以局部调整。




欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2