space-partitioning

    2熱度

    2回答

    我有一個問題,我需要一種在給定卷內查找對象的非常有效的方法。可以想象,對象被表示爲具有X-min,Y-min,Z-min和X-max,Y-max,Z-max值的方框。在空間中可能有數百萬個這樣的對象,問題是在任意給定的用戶提供的音量內找到對象。用戶輸入框的X,Y和Z值的最小值,最大值。 目前,我擁有Oracle數據庫表中的所有這些對象,這些對象都是爲X,Y和Z值索引的範圍。任何用於查找對象的查詢都

    3熱度

    1回答

    我在三維空間中有許多點(+100,000)。我需要使用最近的鄰居和範圍查詢。首先我使用kdtree(k = 3),但每個點都有一個velocity屬性。他們的位置不是靜止的,他們改變了他們的位置。問題從這裏開始。使用舊位置很容易做最近的鄰居和範圍查詢。但我必須根據它們的速度來計算它們的新位置。在計算出他們的新位置後,我必須找到最近的鄰居並在範圍內搜索。 每次點改變他們的位置我必須更新kdtree,

    1熱度

    1回答

    我試圖將數據存儲在關係數據庫的binary space partitioning tree中。關於這個數據結構的棘手部分是它有兩種不同類型的節點。第一種類型,我們稱之爲數據節點,只是保存了一定數量的項目。我們定義可以保留的項目的最大數量爲t。第二種類型(我們稱之爲容器節點)包含另外兩個子節點。當一個項目被添加到樹中時,節點被遞歸直到找到一個數據節點。如果數據節點中的項目數量少於t,則將該項目插入到

    4熱度

    2回答

    我試圖設計一個矢量量化的實現作爲一個C++模板類,可以處理矢量的不同類型和尺寸(例如16維矢量字節,或4d矢量雙打等)。 我一直在閱讀了對算法,我理解大部分: here和here 我要實現的林德BUZO灰色(LBG)算法,但我m難以找出劃分簇的一般算法。我想我需要定義一個平面(超平面?),將平面中的矢量分開,這樣在平面的每一側上都有相同的數字。 [編輯以添加更多信息] 這是一個反覆的過程,但我想我

    2熱度

    2回答

    我應該在地圖上顯示一組標記以指示附近的興趣點。這些標記將通過點擊打開公共聊天室,因此我認爲用戶在進入該房間之前應該看到有關每個標記的簡短地址信息,而無需點擊標記。不過,如果我更改標記圖標在這個意義上,一些標誌物可能會衝突,你可以看到如下: 我想要做的是顯示儘可能多的標記沒有碰撞什麼,更換圖標與像一個點一個非常小的標記(任何地址信息),這些碰撞的國家: 我實現通過執行x軸掃描算法來檢測碰撞得到這個結

    2熱度

    1回答

    我對應於相同的一維(線性)空間的兩組區間。這是一個粗略的視覺效果 - 事實上,有更多的間隔,他們更分散,但是這給出了基本的想法。 這些區間的每一箇中包含的信息,和我寫一個程序將信息存放在一個設定的時間間隔(紅色),以包含在另一組(藍色)的信息進行比較。 這是我的問題。我想將空間劃分爲n塊,以便在每個塊中進行大致相同量的比較工作(工作量取決於該空間部分中的間隔數)。此外,該分區不應該在兩個塊之間分割

    12熱度

    1回答

    我需要將大的靜態大小的矩形分割成小矩形的算法。我一個完美的實現是這樣的: struct RECT { int l,t,r,b; }; class BigRect { public: // width and height of big rect BigRect(unsigned width, unsigned height); // retur

    3熱度

    1回答

    我一直試圖在我的遊戲中實現空間分區算法,但空間哈希和四叉樹都不是我正在尋找的。 我的關卡尺寸不應該有限制(只有Int32限制)。我需要一個不需要「級別寬度」和「級別高度」的空間分區算法。 我有許多移動的物理對象。我需要該算法足夠快以支持500多個對象。 還可以嗎?

    0熱度

    1回答

    似乎有類似的問題here,但我對答案的清晰度和實用性都不滿意。我在最近的一次採訪中被問到我將存儲大量浮點數的數據結構,以便我爲自己或最近的鄰居查找新的到來。我說過我會使用二叉搜索樹,並嘗試使它達到O(log n)的平衡。 然後,問題擴展到了兩個維度:我將使用什麼數據結構來存儲大量(x,y)對,例如用於快速查找的地理座標?我無法想到一個令人滿意的答案,並且在擴展到K維時完全放棄了。直接使用使用座標值

    9熱度

    3回答

    我有一個包裹在邊緣的2D地圖。所以如果你離開右邊緣,你會重新出現在地圖的左側。同樣與三個其他邊緣。 這是可繼承的KDTree,我用它來查找點的範圍內的元素的問題。通常情況下,你會檢查超球與超平面是否碰撞,看看你是否應該繼續搜索樹的另一邊,但是這種檢查不能用於包裝邊緣。 有什麼方法可以修改KD樹來與甜甜圈2D空間一起工作嗎?