我已经设法以两种方式计算了边界球半径,但没有一个能准确地给我我想要的。我不需要一个“像素”完美的边界球,但我想要比我目前拥有的更好的东西。
我正在使用 Wavefront .obj 模型并计算这些模型的边界球半径,我提取了当前模型尺寸(我使用的是 Nate Robbins 的 GLM 库),这将为我提供每个轴上的尺寸。
第一种方法: 将每个轴除以 2,这将给我每个轴上的半径。最大的是我将用于我的边界球的那个。这适用于我的项目特定的大多数对象。它对某些人不起作用,例如立方体形状的。基本上,如果我有一个立方体并用这种方法计算半径,球体会将立方体角留在外面。
第二种方法: 将每个轴除以 2,这将给我每个轴上的半径。然后我这样做是为了取出边界球的半径:
r = SQRT(x*x + y*y + z*z)
但这给了我一个相当大的半径。对象将完全封闭在球体中,但球体非常大,超出了应有的范围。
我不明白我在上面的公式中做错了什么,据我所知,它应该可以工作。但我显然错了...