力學圖的佈局中有很是多參數。本文將逐個說明。javascript
D3 中的力學圖佈局是使用韋爾萊積分法計算的。這是一種用於求解牛頓運動方程的數值方法,被普遍應用於分子動力學模擬以及視頻遊戲中。java
定義佈局的代碼例如如下:函數
var force = d3.layout.force()
就能夠。D3 中提供了 17 個函數用於設定其參數和事件。在所有佈局中是最多的,如下將對其進行說明。佈局
用於設定力學圖的做用範圍。用法爲 force.size( [ x , y ] ),這個函數用於指定兩件事:post
假設不指定,默以爲 [ 1 , 1 ] 。動畫
指定結點鏈接線的距離,默以爲20。假設距離是一個常數。那麼各鏈接線的長度老是固定的;假設是一個函數。那麼這個函數是做用於各鏈接線( source , target )的。spa
指定鏈接線的堅硬度。值的範圍爲[ 0 , 1 ]。值越大越堅硬。.net
其直觀感覺是:code
定義摩擦係數的函數。值的範圍爲[ 0 , 1 ]。默以爲0.9。但是這個值事實上並非物理意義上的摩擦,事實上其意義更接近速度隨時間產生的損耗,這個損耗是針對每一個頂點的。視頻
設定引力,是排斥仍是吸引,默認值爲-30。
設定引力的做用距離,超過這個距離,則沒有引力的做用。
默認值爲無窮大。
以 size 函數設定的中心產生重力,各頂點都會向中心運動。默認值爲0.1。也可以設定爲0。則沒有重力的做用。
頂點數假設過多,計算的時間就會加大(O(n log n))。theta 就是爲了限制這個計算而存在的。默認值爲0.8。這個值越小,就能把計算限制得越緊。
設定動畫運動的時間,超過期間後運動就會中止。
事實上
謝謝閱讀。