我需要计算3D中一组点的最小封闭球体,它已经被定向边界框(OBB)包围。
我的假设正确吗?球体可以从OBB导出,如下所示?
sphere_radius = 0.5 * obb_diagonal
sphere_center = obb_center
如果没有,
- 为什么
- OBB能用吗
假设定向边界框可以是任意定向的,那么不能保证您可以直接从定向边界框构造最小边界球体。
作为反例,考虑从(-1,-1,-1)
到(1,1,1)
的立方体边界框,其中包含立方体面中心的六个点:(1,0,0)
、(-1,0,0)
、(0,1,0)
、(0,-1,0)
、(0,0,1)
、(0,0,-1)
。
这组点的最小边界球将是半径为1的球,以(0,0,0)
为中心。由您建议的算法构建的球将是以原点为中心的半径为1.7
(ish)的球。
相反,您将希望使用算法来查找最小边界球体。有一些算法可以在线性时间内做到这一点(请参阅此问题以获取查找位置的指针。"迷你球"是一个很好的搜索关键字。)