2017-07-12 106 views
-1

我正在實施使用記憶隨機步行的二維delaunay三角測量。我不明白的是,如果插入的點不在任何之前的三角形中,會發生什麼情況。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 τ; 

我的猜測是,如果沒有τ波谷²的鄰居它是在外面。如何找到它連接的點是另一個問題。我假設l和r是兩點,但它可能更多。

+0

:是不是點位置。你能分享你的實施嗎? – Bytemain

+0

我還沒有開始因爲這個問題。是的,散步是要找到一個點在哪個三角形中。我想知道如果這個點不在任何三角形中會發生什麼。 – Bas

+0

我用一些僞代碼更新了它 – Bas

回答

1

我的猜測結果是正確的。如果你不得不越過邊緣但找不到三角形,它就在外面。它連接到的點是l,r和任何可以連接到該點的鄰居,而不會穿過線和該點的鄰居...

相關問題