我需要使用1D数组表示3D有界空间。我还需要将给定的1D索引转换回3D坐标。
我知道使用(width * height * z) + (width * y) + x
公式将3D坐标转换为1D索引的方法。
(x,y,z)
以内的点v
的所有邻居(假设x,y,z都以1为步长变化)?编辑:
我找到了1D-> 3D和3D-> 1D转换的方法。我仍在尝试找出在给定距离“ d”内寻找邻居的步骤。我尝试的一种简单方法是在范围x
中更改[x-v, x+v]
(类似y
,z
)并生成不同的组合。但是其中某些点的距离将大于d
。(例如:如果d=1
且给定点为(0,0,0)
,则生成的点(1,1,1)
将不在距离1处,而是稍大一点。