5
A
回答
0
以Graph JavaScript Framework爲出發點,您可以執行以下操作。我假設類Node
已被擴展屬性width
和height
。然後,在功能layoutRepulsive
,用於計算節點的距離的表達式必須被改變,以尊重這些尺寸:
var dx = Math.max(0, Math.abs(node2.layoutPosX - node1.layoutPosX) - 0.5*(node2.width+node1.width));
var dy = Math.max(0, Math.abs(node2.layoutPosY - node1.layoutPosY) - 0.5*(node2.height+node1.height));
最大功能強制0作爲距離可能的最低值,即使當它們的包圍盒交疊。
0
找你procided第一個環節裏面,有行240:
var repulsiveForce = this.k * this.k/d;
代表排斥勢(這是物理)。數字越大,幾何狀態的可能性就越小。 d
是兩個節點之間的距離,而this.k
是彈簧剛度。距離d = 0
的距離成爲無窮大。
您想要將此潛力翻譯一定的長度(您的方框的大小),因此請將d
替換爲d - length
。這意味着,排斥力在距離length
處變得無限。仍然存在的問題,即排斥力然後通過一些有條件的減少了距離,較小的則length
,必須涵蓋:
if (d + 0.0001 < length) repulsiveForce = bigbigNumber;
我添加0.0001
使得排斥力從來沒有變得無限大,但只有大,因爲電腦不能很好地處理無限。
相關問題
- 1. 節點大小kubernetes
- 2. Networkx節點大小
- 3. 基於相鄰節點計算節點值的圖算法
- 4. D3節點佈局的節點大小
- 5. 大小算法
- 6. 如何計算以字節爲單位的節點大小
- 7. 散點圖標記大小計算
- 8. 最小前綴/所有節點圖形算法的後綴
- 9. 增加節點大小vis.js
- 10. B +樹節點大小
- 11. 匹配節點的圖形化算法
- 12. 許多節點的圖形化算法
- 13. 算法是節點A在圖中連接到節點B
- 14. 計算位圖大小的方法?
- 15. 圖像調整大小算法
- 16. 算法計算最大點在點集
- 17. 莖和葉節點算法
- 18. Dijkstras算法 - 父節點?
- 19. 節點大小的基礎JavaFX小程序大小
- 20. 圖算法/尋找破壞圖形的最節點的兩個節點
- 21. 計算Java對象的字節大小
- 22. 位圖行大小計算
- 23. 計算視圖大小
- 24. osmdroid:計算地圖大小
- 25. 演化算法的大小?
- 26. 調整列大小算法
- 27. 節點大小取決於NetworkX上的節點度數
- 28. Cassandra集羣很多小節點vs較少的大節點
- 29. XSLT - 每個子節點(不同節點大小)的循環
- 30. HTTP 1.1塊大小計算算法