2011-12-23 1 views
3

私はシミュレーションで遠く離れたクエリをやりたいと思っていますし、すべてのポイントをループしたくないです。 (N ** 2はうまくスケールされません。)javascriptで固体k-dツリーの実装?

誰もがお勧めできるように、k-d tree(または他のボールツリー、私が推測する)実装がjavascriptにありますか?

答えて

7

役に立つを証明するかもしれない他のかなり良い実装です(免責事項私は著者が知っています)

+0

要素なしでこれをインスタンス化できますか?距離の制約なしに最短距離を呼び出すのではなく、ツリーを効率的に歩いてすべての要素を取得する関数を実装する予定ですか?距離関数がオブジェクト全体に渡って、時には次元だけを渡すことがあるのはなぜですか? – light24bulbs

2

後期の答えが、これは良いものhttps://github.com/dbotha/Javascript-k-d-tree です - - (私は作者午前免責事項)ここで

+1

これはいいですが、現在のところ、2つのディメンションに対してのみ実装されています。つまり、これは2-dツリーであり、k-dツリーではありません。 –

+0

Dammitは完全にそれを忘れてしまった(最近私はちょうど純粋な2dのためにそれを使っていた)、ある時点でそれは本当のKDになるだろう、他の誰かのためにそれほど難しいはずはない... –

0

RBushは、別のjavascript R-Treeの実装です。ここで

7

は、私が書いたライブラリです:Chromeの場合

、それはより速くUbilabs' kdtreeよりも数桁までで、クエリの大きなセット(直交をサポートしています範囲クエリーおよび境界球)。ここに、Google Chromeの最新バージョンのベンチマーク結果へのリンクがあります。

それはCommonJS/NPMを使用していますが、browserifyで素晴らしい作品。