我想解决的问题是为三角形和立方体的交叉生成AABB。在2D中,所需的体积是此处显示的绿色方块:
输入点和输出范围是IEEE float。
我当前使用浮点的方法是将三角形剪切到体素的每个面,并绑定得到的多边形。但是,使用浮点意味着交点不精确,因此可能是生成的AABB未完全绑定交叉区域的情况。我需要保守的约束。
我研究了使用区间算法进行裁剪,但有两个潜在的问题:
有更简洁的方法吗? 也许某种方式来计算所需的epsilon以抵消最终结果?为了计算双倍并且最终浮动结果偏移1ULP,希望双数学不会累积> 28位的误差。如果我能证明这一点会很好。
有理算术可能是另一种选择,但是当输入可以跨越整个浮点范围时,我无法保证如何保证有足够的位。
有什么建议吗? 提前谢谢。