Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 三维三角形和AABB的相交区域_Java_Algorithm_Math_3d_Aabb - Fatal编程技术网

Java 三维三角形和AABB的相交区域

Java 三维三角形和AABB的相交区域,java,algorithm,math,3d,aabb,Java,Algorithm,Math,3d,Aabb,我想找出三角形和AABB相交处的实际表面积。目前,我正在使用Tomas Akenine-Möller的AABB三角形相交测试,该测试运行得非常好-但我还需要进一步的信息来提高我正在开发的实时三角形到体素引擎的渲染质量 它的基本应用将使我能够计算出原始模型中的哪个三角形在给定体素中占据了最多的空间。这使我能够将从模型创建的结果体素与原始三角形ID相关联,这不仅有助于颜色准确性,而且有助于持久性 到目前为止,我想到的方法是将三角形和AABB的所有交点成对分组。一旦你有了所有的线对,你就可以很容易地找

我想找出三角形和AABB相交处的实际表面积。目前,我正在使用Tomas Akenine-Möller的AABB三角形相交测试,该测试运行得非常好-但我还需要进一步的信息来提高我正在开发的实时三角形到体素引擎的渲染质量

它的基本应用将使我能够计算出原始模型中的哪个三角形在给定体素中占据了最多的空间。这使我能够将从模型创建的结果体素与原始三角形ID相关联,这不仅有助于颜色准确性,而且有助于持久性

到目前为止,我想到的方法是将三角形和AABB的所有交点成对分组。一旦你有了所有的线对,你就可以很容易地找到与线对相关的第三个点,它实际上位于AABB之外。然后简单地取3个向量的集合,用它们构造三角形。取完整原始三角形的面积,减去构造三角形的面积。如果三角形不是“主要位于AABB内”,则构建AABB内的三角形并将其相加,而忽略整个区域。如果三角形在与AABB相交时创建非三角形形状,我还不确定该怎么办。以下是我提出的一些2D表示案例(可能还有更多):

我真的怀疑我的想法在这里的可行性,所以我愿意接受任何建议。如果有人可能有一个更好的解决方案,考虑到我的特殊问题,不需要实际的面积,让我知道


谢谢。

什么是“AABB”?Java从何而来?到目前为止,解决此问题的代码是什么?@RoryDaulton Axis aligned bounding box()。三角形轴的底端/一侧是否对齐?确定形状的顶点后,可以使用获取区域。