比如这样一个区域横向坐标-100到100,纵向坐标-100到100
在有一个length为100的数组,每个数组项为{x:'坐标',y:'坐标'},
如何让这一百的点随机分布(像一个圆那样展开,密集程度较均匀,不要,一些区域太密集了,一些区域太分散了),且还有不重叠(均匀分布)?
那位大佬给个演示
大概这样的分布
这里有python的写法
那位大大可以把这个改成js的吗?
比如这样一个区域横向坐标-100到100,纵向坐标-100到100
在有一个length为100的数组,每个数组项为{x:'坐标',y:'坐标'},
如何让这一百的点随机分布(像一个圆那样展开,密集程度较均匀,不要,一些区域太密集了,一些区域太分散了),且还有不重叠(均匀分布)?
那位大佬给个演示
大概这样的分布
这里有python的写法
那位大大可以把这个改成js的吗?
9 回答10.1k 阅读
4 回答8.5k 阅读✓ 已解决
7 回答10.6k 阅读
2 回答11.1k 阅读✓ 已解决
6 回答2.3k 阅读
1 回答10k 阅读✓ 已解决
4 回答11.8k 阅读
没明白你说的“均匀分布”是什么意思,如果是每个点的横纵坐标不相同,那么可以这么做。
已知 -100~100 共 201 个数字,那么可以弄两个数组分别表示 X、Y 轴坐标,随机打乱顺序,每次取一组即可:
执行结果:
针对问题修改后的补充:
什么叫 “像一个圆那样展开”?你把结果图画出来。
另外如果真是一个圆形分布,那也不可能是随机的啊?
针对第二次问题修改后的补充:
你给的 Python 代码里坐标点可以是小数的,我不知道你是可以接受小数还是只能是整数。我给了个只能是要整数的例子,如果要小数你就自己把
parseInt
删掉。绘制效果在最下面,因为 100*100 比较小,所以我做了放大 2.5 倍的处理。