0

我有一个包含 (x,y,z) 点坐标列表的文件,我试图将其转换为viewvox可读的体素文件格式。我遇到了binvox文件格式,它看起来应该相对简单,但我无法理解它。特别是当它提到使用值字节和计数字节时,我一定误解了,因为我不清楚为什么计数的范围必须是 1<=count<=255。

希望有人可以执行以下一项或多项操作:向我解释格式,就像我五岁时一样,为小型模型提供 binvox 文件的工作示例,或者建议将坐标数据转换为体素格式的更好方法。

提前感谢您的任何建议。

编辑:在考虑了更多之后,我已经了解了计数字节的范围 - 1 是最小值,因为 0 的计数不会提供信息,最大值是 255,因为这是一个字节的最大值。

4

1 回答 1

1

现在在我的脑海里整理出来。对于其他有类似理解问题的人,这里解释了 .binvox 文件格式:

  • 标题首先出现并且必须包含
    • 版本号
    • 体素网格的尺寸
    • 从模型坐标到单位立方体的平移和比例因子。
    • 实际数据开始之前的“数据”一词

一个示例标题是:

#binvox 1
dim 512 512 512
translate 0 0 0
scale 1
data

然后文件的其余部分由成对的字节组成,给出体素值(1 表示存在,0 表示不存在)和体素计数(例如,如果运行 2 个坐标相同,则该字节将为 2价值)。字节对之间没有分隔符。这些字节对的顺序是通过您的模型坐标确定的;y 变化最快,然后是 z,然后是 x。

现在明白了,可以看到文档其实已经很好了,我这里做的都是总结。可以在此处找到实际文档。

于 2013-10-17T12:04:29.097 回答