我不确定这是否是询问的正确地方,但还是试一下…
简短版:我正在尝试在平面上计算三角形的方向,该三角形由3条边的交点组成,而不必显式计算交点。
详细版:我需要将PSLG三角剖分到3D中的一个三角形上。 PSLG的顶点由线段与通过三角形的平面的交点定义,并保证位于三角形内部。 假设我有交点,我可以投影到2D并使用点-线-侧(或三角形符号区域)测试来确定任意3个交点之间的三角形的方向。
问题在于,由于我的浮点误差在计算线-平面交点时会积累,所以我无法明确计算交点。为了弄清楚线段是否首先击中三角形,我使用了一些可自由使用的稳健几何谓词,它们给出了四面体的体积符号,或等效地给出了点在平面哪一侧。 我可以确定线段端点是否位于三角形通过的平面的相反侧面,然后在线段和三角形的每个边之间形成四面体,以确定交点是否位于三角形内。
由于我无法明确计算交点,我想知道是否有一种方法可以只使用原始点在3D中表达相同的2D方向计算。 如果有3条边击打三角形,那么总共可以使用9个点。 假设我正在询问的即使是可能的(仅使用3D方向测试),那么我猜测我需要在这9个点之间形成所有可能四面体的某些子集。 我甚至难以想象这一点,更不用说将其浓缩成公式或代码了。 我无法找到此类问题的行业标准术语,因此无法使用Google查找。
如何继续处理? 谢谢。 也许我应该问问MathOverflow……
编辑:阅读了一些评论后,我想到一个事情…也许如果我可以将三条直线之间适合非重叠的四面体,那么任意穿过平面的其中一个的方向就是我要找的答案。 除非边界包围一个简单的三棱柱,否则我不确定此子问题是否可解决。
编辑:所请求的图像。
简短版:我正在尝试在平面上计算三角形的方向,该三角形由3条边的交点组成,而不必显式计算交点。
详细版:我需要将PSLG三角剖分到3D中的一个三角形上。 PSLG的顶点由线段与通过三角形的平面的交点定义,并保证位于三角形内部。 假设我有交点,我可以投影到2D并使用点-线-侧(或三角形符号区域)测试来确定任意3个交点之间的三角形的方向。
问题在于,由于我的浮点误差在计算线-平面交点时会积累,所以我无法明确计算交点。为了弄清楚线段是否首先击中三角形,我使用了一些可自由使用的稳健几何谓词,它们给出了四面体的体积符号,或等效地给出了点在平面哪一侧。 我可以确定线段端点是否位于三角形通过的平面的相反侧面,然后在线段和三角形的每个边之间形成四面体,以确定交点是否位于三角形内。
由于我无法明确计算交点,我想知道是否有一种方法可以只使用原始点在3D中表达相同的2D方向计算。 如果有3条边击打三角形,那么总共可以使用9个点。 假设我正在询问的即使是可能的(仅使用3D方向测试),那么我猜测我需要在这9个点之间形成所有可能四面体的某些子集。 我甚至难以想象这一点,更不用说将其浓缩成公式或代码了。 我无法找到此类问题的行业标准术语,因此无法使用Google查找。
如何继续处理? 谢谢。 也许我应该问问MathOverflow……
编辑:阅读了一些评论后,我想到一个事情…也许如果我可以将三条直线之间适合非重叠的四面体,那么任意穿过平面的其中一个的方向就是我要找的答案。 除非边界包围一个简单的三棱柱,否则我不确定此子问题是否可解决。
编辑:所请求的图像。