- 我有一个位置为 (x, y) 的对象集合
- 这些物体随机移动
- 可以有数千个
在任何时候,我都会从位置 POS 获得(恒定)半径 RAD 中的对象列表。
编辑 - 上下文:这是一个游戏服务器,它将(自然地)拥有数千名玩家。当玩家移动/[做出动作]时,我想将更新发送给半径内的其他玩家。
简单的方法,每次我需要列表时:
near_objects;
foreach( objects o ) {
if( o.distance( POS ) < RAD )
near_objects.add( o )
}
我想有更好/更快的方法,但我不知道要搜索什么。