algorithm - 没有重叠的定位元素

标签 algorithm math physics overlap

我有许多矩形元素,我想将它们放置在二维空间中。我计算每个元素的理想位置。现在我的问题是许多元素重叠,因为理想位置经常集中在一个区域。我想尽可能避免重叠(但不一定是完美的)。我该怎么做?

我听说物理模拟适用于此 - 对吗?谁能提供示例/教程?

顺便说一句:我正在使用 XNA,如果您知道任何可以完成这项工作的 .NET 库,请告诉我!

最佳答案

物理引擎的一种使用方式:

在每个矩形上放置正电荷(或某种排斥力)并模拟力和运动。此外,正如 Eyal 友善地指出的那样,您还需要一些吸引力来防止它们漂走。这可以通过 Spring 建模(同样如 Eyal 所指出的)。它们将希望以某种可能涉及非重叠矩形的平衡结束。

我相信类似的想法(基于力的启发式方法)被用于确定图形的美观布局(节点和边缘布局)。

免责声明:我自己没有用过。

希望对您有所帮助!

关于algorithm - 没有重叠的定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3065033/

相关文章:

algorithm - 具有线性创建或优于线性复杂度的累积频率表?

algorithm - 梯度下降算法在matlab中给出错误答案

javascript - 将两个变量加在一起

python - 单能 Gamma 射线平均自由程

physics - 两个移动四面体之间的连续碰撞检测

algorithm - 在CIEXYZ到CIELUV的转换中, `u'`, `v'`, `u' ₙ`, ` v' ₙ`, and ` Yₙ`是什么?

javascript - 在对 Angular 线段中获取点的算法

algorithm - 算法-尝试在拥有相等数量的玩家的同时平衡团队技能水平

c - 将 16 位有符号整数表示为 0-100 之间的值

php - 当用户单击 "vote"w/php & mysql 时增加记录的分数