2015-12-26 50 views

回答

0

恐怕沒有這樣做的方式。然而,沒有任何東西可以阻止你在同一個多邊形中自己繪製這些空洞。

的方法來增加一個孔是簡單的:

  • 挑選一個外點處的從所述內的你移動到附近的內點的第一個(下稱「空穴」)重複它
  • 多邊形和重複這一以及
  • 現在提請內一個逆時針(與座標周圍的順序轉動)並返回複製外一個

這有效地創建作爲一個接縫,您可以在採用外部多邊形座標和任意數量的「孔」多邊形的獨立方法中抽象出此功能。小的困難是找到最接近的內點來創建接縫。

爲了進一步說明你結束了以下幾個部分:

  • AB BC CD DA的多邊形
  • 現在你選擇一個點,讓我們說C並且複製 - >C'
  • 現在你必須找到內部多邊形的最近點EF FG GH HE,讓我們假裝這是F,複製這一個 - >F'
  • 繼上面你現在 進入多邊形的這個點的範圍:A B C F E H G F' C' D

這個算法假定在多邊形中進給都是順時針構造的,這是我可以管理的東西。

+0

完美詳細。唯一的'壞''(但不是太)點是邊界CF(和F'C'(相同))將出現在地圖上。我還有一個子程序,它可以創建一個多邊形作爲一組多邊形的聯合(如果它們全部連接)=>您的解決方案似乎很容易適應。 – user1628579

+0

聽起來不錯,你可以去一個額外的多邊形,只是繪製邊界,然後只有填充孔的一個。 – rdoubleui

0
  1. 通過側取兩個多邊形側
  2. 設定兩者的未填充的(或填充有白色或100%透明)
  3. 讓邊界都足夠厚,這樣他們「重疊」

簡單~~~