我有一個應用程序,其中我將提供一個無序的項目集合(基本上可以表示爲矩形的對象),並需要根據它們的物理位置將它們放到更大的矩形形狀(一個集羣)中。可能有多個項目集羣,並且有些項目可能會自己在一個集羣中。我應該如何將項目聚合成有意圖形的有序集合?
每個項目都知道哪個項目位於其右側(如果有)以及哪個項目位於其下方(如果有的話)。因此這些物品可以放置在Directed Graph
中並遍歷。
如何以圖形方式顯示所有項目?如果我把這些物品放在Graph
中,我應該如何穿過它?
我有一個應用程序,其中我將提供一個無序的項目集合(基本上可以表示爲矩形的對象),並需要根據它們的物理位置將它們放到更大的矩形形狀(一個集羣)中。可能有多個項目集羣,並且有些項目可能會自己在一個集羣中。我應該如何將項目聚合成有意圖形的有序集合?
每個項目都知道哪個項目位於其右側(如果有)以及哪個項目位於其下方(如果有的話)。因此這些物品可以放置在Directed Graph
中並遍歷。
如何以圖形方式顯示所有項目?如果我把這些物品放在Graph
中,我應該如何穿過它?
這聽起來像一個良好的用例爲PR四叉樹:http://www.codeproject.com/KB/recipes/QuadTree.aspx
從使用QuadTree開始,它看起來不符合我的應用程序,但它是一個很好的鏈接,並且新的題材給我。 – Pat 2010-08-27 21:38:38
嗯,我拿出迄今是使用GraphSharp庫中的最佳解決方案,雖然我還沒有想出如何自定義圖形中Vertices
(項目)的外觀。
你想解決什麼問題?如果你想聚集事物,那麼你需要解釋什麼是聚類標準。如果你想把東西放到數據結構中,你需要解釋你希望它有效支持哪些操作。無論如何,答案最可能包括某種空間細分數據結構。 – 2010-08-25 18:18:17
@Ants:集羣標準是每個集羣包含一個或多個項目,並且所有具有鄰居的項目都在該集羣中。我試圖解決的問題是如何在以非視覺方式呈現自己時直觀地展示項目。 (具體來說,這些是LED標誌的模塊,它們一起工作以創建一個或多個標誌面[羣集]。) – Pat 2010-08-25 21:24:12