2012-07-18 80 views
2

我需要知道這棵樹的每個節點上的位置,我使用JavaScript 我想,但仍然有上重疊/間距的Javascript定位樹節點

a busy cat ![家譜]

問題我有每個節點的子列表。
A => C,B,D
C => E,F,G
等等。

請幫幫我。

+0

'位置'以頁面上的x,y座標或者它在家譜上的位置('X'的孩子,'Y'的父親,'Z'的同胞' )?例如,對'F'你會期望什麼'位置'? – 2012-07-18 11:12:06

+0

有趣的東西:) – Ashwin 2012-07-18 11:13:33

+0

考慮這個2D網格(R X C)。 R代表行,C代表列。 R&C將基於樹大小。左上角是(0,0),A是(0,C/2) – Jony 2012-07-18 11:24:01

回答

1

我在這裏找到了我的解決方案(tree_layout_lw.py)。只需將此代碼轉換爲javascript &它工作得非常好。

0

當你有你所提到的結構,一個想法,我能想到的是:

讓我們看看你有每個Y X的二維空間,也就是左上角(0,0),右下角( X,Y)

首先,您將A放置在表格中間第二行的座標(X/2,1)處。

然後,左邊的孩子將在水平A座標的一半處,即(X/4,3),垂直向下並且有2個單元格。 A的中間孩子會有(X/2,3),A的右邊孩子會有(3 * X/4,3)。

因此,每個孩子將根據其父母的位置進行定位。

很好的問題來解決,如果你有smth。發展我很想看看。

+0

X,Y的值不固定。需要計算這棵樹需要哪個維度。 – Jony 2012-07-18 12:03:58

+0

樹應該像這樣定位:http://dl.dropbox.com/u/49962071/temp/f_tree.jpg – Jony 2012-07-18 17:05:29