1

我正在寫一個Java應用程序,幫助將非確定性自動機轉換爲確定性自動機(即時翻譯法語)。那麼這樣做的算法不是問題,因爲有規則可循。編譯器自動機,我該如何讓這個圖表不會相交?

但我無法搞清楚GUI的工作原理......我想出瞭如何繪製圓圈和箭頭以及所有的(它還沒有完成,但我沒有問這個問題)。我要問這裏是如何將我能夠編寫一個程序,計算出其圓應繪製在哪裏,所以該圖將與沒有交集看的話得出:

所以我想要什麼它就像左邊的那個一樣出來。相互連接並不是主要問題,只是程序如何首先擺脫佈局。

現在我知道通常我應該發佈一些代碼,並顯示努力和所有,但我已經編碼的部分已經沒有任何問題,因爲我說...自動繪圖部分是我第一次來到東西我甚至不知道該怎麼嘗試和編碼:/我在這段時間內對這個問題進行了頭腦風暴,但這一段時間無濟於事。思考佈局,遞歸算法,人工智能算法...我只是不知道我在這裏尋找什麼。

是否有某種詭計呢?因爲以前在其他程序中看過這個。有沒有我似乎錯過的任何信息?任何我可以閱讀來幫助這個將是多麼appartiated。

+0

您正在尋找的術語是_planar_繪圖。並非所有圖形都是平面的,並且可以繪製出沒有交點的圖形。 [yFiles](http://www.yworks.com/yfiles)的正交佈局算法將繪製所有沒有交點的平面圖形,但是這有時看起來比具有幾個交點的簡單圖形更差。 – Sebastian 2014-10-12 10:56:59

回答

2

您應該使用現有的庫。例如,yFiles

+0

這實際上指出我在正確的方向,雖然它不是開源的或免費的...我現在至少知道我在找什麼,我想我會最終使用JUNG http://jung.sourceforge.net/ – vlatkozelka 2014-10-10 13:19:48

相關問題