编译器自动机,我该如何制作这个图以使线条不会相交?

问题描述 投票:0回答:1

我正在编写一个 Java 应用程序,可以帮助将非确定性自动机转换为确定性自动机(我是从法语翻译的)。那么,执行此操作的算法不是问题,因为有规则可遵循。

但是我无法弄清楚 GUI 是如何工作的......我弄清楚了如何绘制圆圈和箭头以及所有的东西(它还没有完成,但我没有问这个)。我在这里问的是我如何能够编写一个程序来计算出应该在哪里绘制哪个圆,这样图表看起来就会很好地绘制,没有交叉点:

所以我想要的是它像左边的那样。交叉点不是主要问题,只是程序如何首先确定布局。

现在我知道通常我应该发布一些代码并表现出努力,除了我已经编码的部分之外的所有部分,正如我所说的,我没有任何问题......自动绘图部分是我第一次遇到我不知道的东西甚至不知道要尝试什么和编码:/我对此进行了相当长一段时间的集思广益,但无济于事。考虑过布局、递归算法、人工智能算法……我只是不知道我在这里要找什么。

有什么技巧吗?因为我以前在其他程序中见过这个。我似乎缺少任何信息吗?任何我能读到的能帮助解决这个问题的东西都会非常感激。

java swing diagram
1个回答
2
投票

您应该使用现有的库。例如,yFiles

© www.soinside.com 2019 - 2024. All rights reserved.