首页 > 解决方案 > 如何有效地计算轴对齐边界框内的 3D 三角形面积?

问题描述

我想知道轴对齐边界框 (AABB) 内 3D 三角形的面积。我已经确定如何使用此处介绍的方法有效地检测三角形和 AABB 之间的碰撞:

http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/pubs/tribox.pdf

但是,我还没有找到一个好的算法来计算 AABB 内三角形的面积。如果我要自行推出解决方案,它看起来像:

  1. 检测三AABB重叠
  2. 测试是三角形在 AABB 内 -> 返回区域
  3. 对于 AABB 的每一侧,制作一个平面
  4. 为 6 个生成的平面中的每一个剪裁三角形。如果剪辑的超过 3 条边形成新的三角形
  5. 循环遍历新的三角形集并转到#2,直到集合中没有留下任何三角形

我认为这应该导致AABB内部的一组三角形,因此,它们的面积之和就是AABB内部基础三角形的面积?

标签: algorithm3daabb

解决方案


我可能会:

  1. 将三角形视为凸多边形并将其夹在每个 BB 平面上
  2. 在多边形平面中转换为二维多边形
  3. 使用鞋带公式计算其面积

推荐阅读