我将轴对齐的边界框表示为 2 个 3D 向量,一个包含左下后点(最小值),一个包含右上前点(最大值)。
在向任何方向旋转对象后,必须重新计算包围它的 aabb 以适合。以此图为例:
可以使用我拥有的两个起点和旋转的角度+方向来计算吗?如果是这样怎么办?最有效的方法是什么?
PS 我正在使用 glm 进行数学计算,因此任何使用 glm 执行此操作的现成方法都将非常有用!
你能根据现有 AABB 的旋转计算出新的 AABB 吗?是的。它涉及变换所有 8 个点,然后从中计算 AABB。您可以找到每个维度的最大范围,即 8 个点中每个点的 3 个分量中的最大/最小值。
但是,这不会给您显示的图片的效果。原因相当明显。该图根据 AABB 所包含的实际网格的旋转重新计算 AABB。而您想通过旋转矩形来重新计算它。
基于盒子的重新计算总是比严格需要的要大。从实际网格重新计算 AABB 将产生更紧密的 AABB。
| 归档时间: |
|
| 查看次数: |
1111 次 |
| 最近记录: |