2010-08-08 77 views
1

創建一個平行多段線到現有多段線的簡單算法很簡單:您可以計算每個頂點的法線(作爲線段法線的平均值),並使用法線以任意數量移動頂點。如何創建沒有自交叉的平行多段線?

但是,當我嘗試在曲線折線上使用此算法時存在圖形問題,這是一連串形成圓弧的點。當我創建弧線的平行線時,一切都很好,直到我增加了足夠的距離,以便通過其法線的投影頂點創建一條從一個頂點前進到另一個頂點的折線,實際上反向移動創建自交。

如何有效地從平行折線中刪除這些頂點?我已經比較了線段的方向:如果生成的線段不平行,這意味着我已經達到了平行折線相交的點。但是,對於小段(曲線折線會生成更小的段)或最初具有退化頂點的折線(一個頂點等於下一個頂點),這不起作用。

+0

您正在嘗試計算「偏移曲線」。谷歌爲此發佈了許多結果。總的來說,處理自我交叉是非常困難的,你只需要考慮所有情況。 – 2010-08-08 16:36:34

+0

事實上,當你知道要尋找什麼時,看起來有很多材料。 – 2010-08-08 21:29:12

回答