Algorithm 三角形外的Delaunay步行点

Algorithm 三角形外的Delaunay步行点,algorithm,geometry,triangulation,delaunay,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

我正在使用随机行走实现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 τ;
三角形τ=α;
三角形ψ=τ;//上一个三角形初始化为τ
布尔值=false;
虽然找不到,但请
发现=真;
int k=随机int(3);//K∈ {0, 1, 2}
对于i=k到k+2 do
点l=t(i模3);
点r=t[(i+1)模3];
//“记住”改善条件
如果ψ不是τ谷²lr的邻居,则
如果方向2D(l,r,q)<0,则
ψ = τ;
τ=τ槽的邻域²lr;
发现=错误;
中断;//终止for循环的
结束
结束
结束
结束
返回τ;

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

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

:这不是点定位吗。你能分享你的实现吗?因为这个问题我还没有开始。是的,行走就是要确定一个点在哪个三角形中。我想知道如果点不在任何三角形中会发生什么。我用一些伪代码更新了它