我需要计算 3D 中一组点的最小封闭球体,它已经被定向边界框 (OBB) 包围。
我的假设是否正确,即球体可以从 OBB 派生如下?
sphere_radius = 0.5 * obb_diagonal
sphere_center = obb_center
如果不,
- 为什么?
- OBB可以用吗?
我需要计算 3D 中一组点的最小封闭球体,它已经被定向边界框 (OBB) 包围。
我的假设是否正确,即球体可以从 OBB 派生如下?
sphere_radius = 0.5 * obb_diagonal
sphere_center = obb_center
如果不,
假设定向包围盒可以是任意定向的,那么不保证可以直接从定向包围盒构造出最小包围球。
作为反例,考虑一个从(-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)球。
相反,您将需要使用算法来找到最小边界球。存在可以在线性时间内执行此操作的算法(有关查看位置的指针,请参阅此问题。“迷你球”是一个很好的搜索关键字。)