7
我正在創建一個網絡服務,其目的是模擬電子電路如何工作。 project甚至還沒有在Alpha階段。電子電路圖組件連接算法
我被這個項目的一些重要里程碑所困住:當一個人試圖將一個組件的引腳連接到另一個引腳時 - 應該建立連接線。
首先,連接線只是一條直線,幾乎沒有任何改變它的方法。
再後來不知何故彎曲符合的可能性增加,移動和刪除點,確定了線路是如何彎曲。
現在它(連接線)使用A *算法創建。
的實現沒有很好地還,所以編輯* - 生成的連接線是不是一個好主意,「事業失敗了很多。
的理念,爲連接線的創建算法就是如下:
確定開始和年底點
找到開始和年底之間的路徑,其不與任何現有組件的邊界框重疊
創建一組基點 - 座標表,從步驟#得了2 + 開始在堆+ 端在尾
創建一組將形成一個線連接線:
for (var i = 1; i < points.length; i++) { var p0 = points[i - 1], p1 = points[i], line = MooChip.paper.path(Raphael.format('M%1,%2L%3,%4', p0.x, p0.y, p1.x, p1.y)); }
的問題是,連接線可以重疊,而他們只能相交......嗯,其實ŧ這裏還有一個問題:我甚至不能想象一個如何執行連接線連接,喜歡這裏,左下角的圖像:
的問題是:我應該如何建立連接路徑(使其大部分接近設計良好的電路圖,讓我們說),我怎樣才能實現示意圖?