3

我知道可以将像“ Simplicity 模拟”(SoS)这样的符号扰动方案应用于像 4 点方向这样的几何谓词,以避免处理退化的情况。我假设对基于平面的几何做同样的事情也是有效的,其中点是由 3 个平面的交点隐式定义的,所以我可以有一个类似的方向谓词告诉我定义的点在第 4 个平面的哪一侧前3个谎言。我会扰乱平面方程的系数,而不是一个点的笛卡尔坐标。

问题是一个点可以由许多不同的平面定义。立方体中的每个顶点由 3 个平面定义,但金字塔的顶点有 4 个。一致性似乎是像 SoS 这样的方案的一切,我无法确定我选择哪个 3 个平面来定义一个点是否重要。也许不是,只要每次我提到这一点时,我都使用相同的 3 架飞机。

那么,问题来了:我可以选择任意 3 个平面来表示一个点吗?

提前致谢。

4

1 回答 1

0

对于一个非常相似的问题,我将平面表示为点 pi 和 pj 之间的扰动平分线: Pij = {p | d2(pi,p) - ei = d2(p_j,p) - ej)} 其中 d2 表示平方欧几里得距离,其中 ei = epsilon^(2^i) 表示符号扰动。

然后就可以写出三个平面的交点方程,注入谓词中,将分母与分母分开以避免除法,对ei项进行排序并推导出符号扰动。

在您的情况下,它将四个平面上的一个点表示为两个点的退化,每个平面都位于四个平面中的三个上(就像使用扰动内圆谓词时 Voronoi 图中的 4 阶顶点一样)。

这种表示的优点是符号扰动写起来相当简单(每个平面只有两个术语)。

我的 GEOGRAM 库中提供了实现和文档:

http://alice.loria.fr/software/geogram/doc/html/namespaceGEO_1_1PCK.html

于 2015-09-16T12:23:02.643 回答