我有两个对象列表;我想对给定的列表 2 对象执行操作,前提是它位于当前列表 1 对象的边界内。
像这样的东西:
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 技巧。