Java kdtree中边界框之间的最小距离

Java kdtree中边界框之间的最小距离,java,distance,bounding-box,Java,Distance,Bounding Box,我需要找到欧几里得空间中同一棵树的两个kdtree包围盒的最小距离b/w。假设每个框保持5个元素。我需要使用java的最小欧几里德距离 double QHRect[][] = QNode.m_NodesRectBounds; double RHRect[][] = RNode.m_NodesRectBounds; QHRect[][]: 5.74842E-4,7.76626E-5,6.72655E-4, 0.5002329025,0.249

我需要找到欧几里得空间中同一棵树的两个kdtree包围盒的最小距离b/w。假设每个框保持5个元素。我需要使用java的最小欧几里德距离

double QHRect[][] = QNode.m_NodesRectBounds;
double RHRect[][] = RNode.m_NodesRectBounds;

    QHRect[][]:    5.74842E-4,7.76626E-5,6.72655E-4, 
                   0.5002329025,0.2499048942,0.25046735625
    RHRect[][]:
                   0.75006193275,0.7495593574,0.75005675875, 
                   0.999890963,0.999386589,0.99985146

在这方面,Java实现与任何其他语言相比都没有什么棘手之处。您需要了解处理此类问题的通用算法。我相信是这样的:

枚举两个边界框立方体的所有12个顶点。 枚举两个边界框的所有12个面。 求一个顶点与另一个面的欧氏距离。这类似于点与平面之间的最短距离。 在这2*6*6=72个组合中,选择最小的组合,您就有了答案。 在问题的一般版本中,还必须检查两个边界框是否也相交