我想知道有一些算法可以将图形转换成平面图吗? 我在谷歌搜索过我找不到可以帮助我的东西
答案 0 :(得分:3)
有一个欧拉定理适用于每个平面图。
定义:平面图是可以在平面上绘制的图形,以便边缘不会相互交叉。任何平面图将平面划分为多个不相交的区域,称为图形的面。
欧拉定理:V-E + F = 2 其中:
但是,我无法在java中提供解决方案,因为它不清楚你想要实现的方式。例如,如果要将图形转换为平面图形;在视觉上,您可能需要画布和元素重新排列,这将是一种复杂的实现。通常认为算法明智,首先在伪代码中创建解决方案。
例如,由于我们的欧拉定理适用于每个平面图,因此您需要找到一种方法将此定理应用于现有的非平面图,然后对其进行测试。
步骤:(可能其中一些需要坐标)
答案 1 :(得分:3)
评论太长了。请原谅我提供答案。
我的问题不清楚。图形是否是平面的是图形本身的函数,而不是图形的绘制方式。 “在图论中,平面图是可以嵌入平面中的图形,即,它可以在平面上绘制,使得其边缘仅在它们的端点处相交。”来自http://en.wikipedia.org/wiki/Planar_graph)。
您是否需要计算/检查图表是否为平面?
你需要以平面形式绘制它吗?
在您提供的示例中,为什么第二张图形比第一张图纸更正确?是因为它们没有相交的边缘吗?
假设您需要对其他图表执行此操作,使用什么规则来确定某些表示是否优于其他图表,您的图表如何推广到其他图表?
你为什么要这样做?有什么意义?如果它的功课,究竟是什么问题陈述?如果它的现实生活,也许对你真正想做的事情的解释会有所帮助。