给定一组随机链接的随机点,如何定位它们,使其链接线不相交



我有一组点,坐标不是预先确定的,我可以在创建它们时设置它们,但它们的链接是预先确定的。一个点可以有一个或多个链接,但不能为零。

我希望能够在这些点之间的连接线不会相交的位置生成这些点的视觉表示。根据我迄今为止在研究中所学到的,我相信这将有点类似于平面图,但会有只有一个链接的点,我不确定平面图是否能够表示这些点。

我不确定是否有好的方法来做我想做的事情,但我承认数学不是我的强项。到目前为止,我的"最佳"想法是以某种方式检测这些交叉点,然后在某种方式考虑交叉点位置的方向上移动点,重新定位它们,这样就不会发生特定的交叉点。。。。并且对每个点循环并这样做,直到不再检测到交叉点为止。然而,很可能有某种更有效的数学算法,我可以使用,而我只是不知道。

我对这里的所有建议都感兴趣,不管它是否有效。

这不是一个容易的问题。以下是谷歌搜索"绘制平面图的算法"的结果。Boost C++库支持绘制平面嵌入,包括一个示例。这些当然使用C++,而不是你标记问题的C#。

最新更新