【问题标题】:Plane-Tetrahedron intersection: How to ensure points are on the edge or inside the tetrahedron, or on the edge or outside the tetrahedron?平面-四面体相交:如何确保点在四面体的边缘或内部,或在四面体的边缘或外部?
【发布时间】:2022-10-17 04:55:12
【问题描述】:

考虑交点是四边形的情况,四面体边缘上的一些交点不能准确给出(给定用于表示坐标的数字,即不是实数,而是有限的子集,例如标准 IEEE 浮点数,或更大的有理数子集)。

思考这个问题的另一种方式:如果 3 个平面在一个点相交,但不能准确指定该点(使用坐标 - 给定用于坐标的数字),那么如何计算特定区域中的最近点(例如在三个平面的给定边。)

一个类似的问题是,当光线与平面相交时,该点无法精确指定(使用坐标 - 给定用于坐标的数字)。如何在飞机前后获得射线上的最近点(精确)?

【问题讨论】:

    标签: rounding orientation computational-geometry intersection


    【解决方案1】:

    我将评论二维情况(两条线段的交点,由它们的端点定义),并假设交点附近的浮点指数没有变化。在这种情况下,我们可以通过重新调整输入坐标来对具有单位边的方格进行推理。 [请注意,并非所有坐标都具有相同的指数;我们可以认为数据的整体精度由最低精度控制,即具有最高指数的坐标的精度。我们重新缩放以使该坐标的一个 ULP 变为一个。]

    现在我们解决由端点已知的两条线段相交的问题。通过 Cramer 公式 (https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection#Given_two_points_on_each_line),我们看到精确坐标是有理数,分子为三阶,分母为二阶。搜索到的最近可表示的最近点是从这些有理数的地板和天花板获得的四种组合,在 X 和 Y 上。人们可以通过将坐标插入线方程来确定它们位于线段的哪一侧。

    可以想象,这意味着在整数计算中使用三精度精度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-04
      相关资源
      最近更新 更多