德劳内步行点外三角形

时间:2017-07-12 18:53:38

标签: algorithm geometry triangulation delaunay

我正在使用记忆随机游走实施2d delaunay三角测量。我不明白的是,如果插入的点不在任何前面的三角形中,会发生什么。

triangle τ = α;
triangle ψ = τ; // the previous triangle is initialized as τ
boolean found = false;
while not found do
 found = true;
 int k = random int(3); // k ∈ {0, 1, 2}
 for i = k to k + 2 do
  point l = t(i mod 3);
  point r = t[(i+1) mod 3];
  // “remembering” improvement condition
  if ψ is not neighbor of τ trough ²lr then
   if orientation2D(l, r, q) < 0 then
   ψ = τ;
   τ = neighbor of τ trough ²lr;
   found = false;
   break; // terminates the for cycle
   end
  end
 end
end
return τ;

我的猜测是,如果没有邻居τ通过llr它就在外面。如何找到它连接的点是另一个问题。我假设l和r是两个点,但它可能更多。

1 个答案:

答案 0 :(得分:1)

我的猜测结果是正确的。如果你必须越过边缘但找不到三角形,它就在外面。它连接的点是l,r和任何可以连接到该点而不会越过一条线的邻居以及该点的邻居......