最も近い距離に基づいてオブジェクトの2つのセットをペアにする最も効率的な方法は?
他のどのオブジェクトにも近くない
両方のセットのオブジェクトは、2Dベクトルを使用してその位置を表します。
最も近い距離に基づいてオブジェクトの2つのセットをペアにする最も効率的な方法は?
他のどのオブジェクトにも近くない
両方のセットのオブジェクトは、2Dベクトルを使用してその位置を表します。
2Dリストをプロキシミティで配置する方法の1つは、基本的にnビットの各(x、y)座標の完全なビットシャッフルを1つのインターリーブされた2nビット値にするエントリーをPeanoでエンコードすることです。 (私は最初に米国国勢調査の道地図とTIGERデータについて1984年を読んでこのスキームを学んだ。)
例:(x、y)=(0,0_0_0、_1_1_0_1)、 次にPeano 、y)は01110001 = 71です。
このビットシャッフルは、並べ替えられたときに1つの数字行に沿って2D近接を表す数字のリストをもたらします。これは、Peanoの値A、B、CについてA < B < CはBがAとCで囲まれた2次元矩形内にあることを示しています。
単なる考えであり、必要でないかもしれませんまったく。がんばろう。
オブジェクトの位置が浮動小数点数を使って表されているので、これがどれだけ適用可能かはわかりません。また、これはリアルタイムアプリケーションなので、私はエンコードのコストがどれくらいか分かりません。 – sookie
Bの最も近いオブジェクトから、AからのオブジェクトへのオブジェクトがAからの別のオブジェクトに近い場合はどうなりますか?したがって、* a1 *に最も近いBは* b1 *ですが、* b1 *に最も近いAは* a2 *ですか? – jaggedSpire
@jaggedSpire:* a2 *は* b1とペアになります* – sookie
そして* a1 *は何もペアになりませんか? – jaggedSpire