用于存储,解析,传递多维信息的数据结构

时间:2016-03-10 07:27:12

标签: java minecraft

我正在尝试决定如何存储3维数据集。集合中的每个点都包含有关该点的信息结构。

关于3d集的事实: 大多数外部点都是空的。 重要的点将是不规则的形状。 任何两个重要点之间都有一条路径。

我希望空间的大小由每个维度的最大/最小点确定(最外层必须至少有一个重要点才能保留)

我需要对这些点做些什么(连接是2个与基数相邻的重要点):

  • 已知起点(起点的相对x,y,z)
  • 跟随边缘(连接2-3个其他点)
  • 识别曲线开关(2个3点边缘不构成四边形的点)
  • 识别叶子(仅连接到另一个点的点

我考虑过的结构:

  • 链接列表(每个节点6个连接)
    • 仅存储重要点
    • 难以识别尺寸的宽度
  • 3d数组
    • 易于识别尺寸的宽度
    • 存储了许多微不足道的要点

还有其他结构对我有用吗?是否有其他理由选择上述结构之一而不是其他东西?

如果您对1.8.9的Minecraft伪造开发一无所知。我正在尝试基于项目nbt制作动态项目模型。请随意查看我目前拥有的代码here

1 个答案:

答案 0 :(得分:0)

我决定使用坐标的字符串表示作为键(“x,y,z”)的hashmap,并使用接口作为对象。这个设置使得将结构存储到json相当容易,这使我可以轻松访问所有点,因为我可以在运行时为任何点生成密钥。