总体目标:给定 3 维空间中的点列表,我需要在给定点半径的情况下围绕该点生成一个球体,然后以编程方式检查给定某个点的两个或多个球体之间是否存在空间。
问题:我无法考虑用数据结构来表示点网格(表示球体的中心)和周围的球体,这些可能并不总是孔数。
示例数据:
A 点:(-3, .25, 4) 半径:1.35
B 点:(5, 6.35, 1) 半径:2
C 点:(1, 0, -1) 半径:0.5
我最初的想法是有一个整数的 3 维数组,其大小是轴的最大值和最小值的绝对值相加除以您想要的最小精度。然后,您将使用转换因子将数组位置(整数)转换为您要查找的点的小数位置。然后我会用一些数据填充数组,以表示球体中心周围存在一个球体。
我正在寻找的是我应该用来表示这个非整数的 3d 网格的数据结构。我觉得我的技术不对。
这是在 Java 中。
非常感谢任何和所有帮助,谢谢!