关于在x轴在0-100,y轴在0-100这个区域内,随机个数点,随机分布的问题?

后端返回给前端不定个数个点,并且包括点与点之间如何连线,如何在x(0,100),y(0,100)这个区域内分布得均匀一点,不要那么凌乱。

function random(min, max) {
    return Math.floor(Math.random() * (max - min)) + min   
}
var getCoord = (data) => {
        return data.map(item => {
            var x = random(0,100)
            var y = random(0,100)
            return {...item,x,y}
        })
    }

这些点的坐标是随机产生的,一旦连线就很凌乱
image.png

哪位大佬提供个思路如何才能分布得不那么凌乱?

阅读 2.1k
2 个回答

不凌乱就把随机数的区域改小,在一定范围内随机呗

比如说用 index/length 划分区域,每一块区域内随机分配。

其实不加连线,这样的图也无所谓其实不加连续,这样的图也无所谓凌乱,
但不加连线,可能图显示的意义就不同了(其实包括点信息也是一样的不能随意动吧)
单纯的只是不想让连线交叉,在PCB布线算法中有相应的处理机制,不过它有多层的概念,在平面上不能保证能实现。
对你给出的例图,一个简单的方法就是对只有一个连线的点,放置到合适位置,使得不存在其关联线与其它线相交的情况。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题