本来想问的是二维的问题,但是想了想,还是先从一维开始吧
假设有一条直线 L,起点的 x 轴坐标为 0,终点的 x 轴坐标为 10. 在该直线上有一组点,现在我们假设有 4 个点,每个点都能在直线 L 的某个范围内自由移动,定义如下: 点 a 可以在 (0..4) 之间自由移动, 点 b 可以在 (3..5) 之间自由移动, 点 c 可以在 (0..8) 之间自由移动, 点 d 可以在 (7..9) 之间自由移动。
求一种算法,可以找到这些点的坐标,使得这些点彼此之间尽量远离。
这里需要考虑 彼此之间尽量远离 的含义,从直观的角度考虑,应该就是这些点尽量均匀得分布在直线上,但如何从数学的角度描述,我还没想清楚,毕竟我是小学文化水平的人。
对我来说至少有 2 个难点:
补充: 如果移动距离完全不做限制,我觉得不太靠谱。那么假设单位移动距离为 0.01,那么如果没有一个良好的算法,直线又比较长,计算量怕是比较巨大。。。