オブジェクトのリストが 2 つあります。現在のリスト 1 オブジェクトの境界内にある場合にのみ、特定のリスト 2 オブジェクトに対して操作を実行したいと考えています。
このようなもの :
for k=1:size(object_list1)
for l=1:size(object_list2)
if euclideanDstSqt(object_list1(k).centroid,object_list2(l).centroid) < toleranceRadius then
// do something ...
end
end
end
これの何が問題なのかというと、オブジェクト同士が非常に離れている場合でも、毎回距離をチェックすることです。それを行うアルゴリズムのよりスマートな方法はありますか? 多分ある種の木?
このアルゴリズムは C++ に変換される可能性があるため、行列指向の Matlab のトリックはすべて忘れる必要があります。