algorithm - 如何绘制具有不相交边的图形?

标签 algorithm graph geometry vector-graphics

我有图的邻接矩阵。我需要在没有相交边的情况下可视化该图。 图中的顶点可以随机排列。我知道一种解决方案——枚举所有交叉点的边缘。如果边相交,则重新排列顶点,但对于大量顶点(超过 20 个)来说代价太高。 还有其他关于如何检查相交边的想法吗?

最佳答案

在具有不相交边的 3D 平面中可视化任何图形真的很容易。

1) 将所有顶点放置在 3D 平面中的任意一点,使得没有三个顶点共线并且没有四个顶点在同一平面上。

2) 遍历邻接矩阵,画直线/曲线连接顶点。

在 2D 平面中,不能保证存在解。例如,假设有大约 10 个顶点并且每个顶点都相互连接的最坏情况。

关于algorithm - 如何绘制具有不相交边的图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23491270/

相关文章:

algorithm - 表明顶点覆盖的启发式解最多是最优解的两倍

c - Qsort - 交替排序顺序

actionscript-3 - 算法 : Implementing custom hash table based dict

graph - Julia DiGraph 以用户定义的对象作为节点

php - 无法获取角色: 'style' to work with Column chart when using JSON with Google Charts

python - 如何用 Numpy 和 Matplotlib 散点图绘制两个同心圆

javascript - 分析项目 SVG 路径

algorithm - 最小化图保持连通性

python - 将邻接矩阵转换为边列表

math - 线和球之间的相交