【问题标题】:Python. Data structure for storing objects coordinates on mapPython。用于在地图上存储对象坐标的数据结构
【发布时间】:2019-09-09 19:21:13
【问题描述】:

我正在开发游戏服务器。我想要用于存储地图上对象的 3d 坐标(x、y、z)的数据结构。这些对象可以动态地改变它们的位置(移动、传送、被摧毁等)。我想根据它们在地图上的视觉位置以特定顺序存储这些坐标。因此,我认为为此目的使用图表是不错的选择。但我不确定。

请注意,我需要存储许多对象(大约 4-5 千)的实时坐标。它是否存在实现我需要的库或算法?

【问题讨论】:

  • @Carcigenicate 我需要通过坐标搜索最近的对象,需要根据坐标找到插入新对象(或替换旧对象)的位置。嗯,我会研究一下 Octree,它似乎是一个不错的变体。

标签: python python-3.x algorithm graph-algorithm game-development


【解决方案1】:

您需要像 Octree(用于 3D 空间)或 Quadtree(用于 2D 空间)这样的空间结构。

它们将其内容划分为将相邻坐标组合在一起的存储桶。这使得围绕坐标进行快速检查,因为只需要检查一个坐标桶(或者,只有直接围绕坐标桶的桶才能进行更大的检查)。这可以极大地限制需要检查的对象的数量。

这些结构通常用于游戏中的碰撞检测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 2017-02-18
    • 2013-01-27
    • 2012-05-05
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多