1
可以使用什麼算法來歪斜多邊形?
像歪斜如下:多邊形歪斜算法
____
| _|
|__|
到右下角將產生
____
| \
| \
\ _|
\__|
它像一個影子投。我考慮把每條線都做成平行四邊形,然後將它和它的相應線做成偏斜位置,然後將所有這些結合起來,但這看起來有點粗暴,需要花費很多時間。
有沒有更好的算法呢?如果需要,我已經有了所有多邊形布爾運算的代碼。
可以使用什麼算法來歪斜多邊形?
像歪斜如下:多邊形歪斜算法
____
| _|
|__|
到右下角將產生
____
| \
| \
\ _|
\__|
它像一個影子投。我考慮把每條線都做成平行四邊形,然後將它和它的相應線做成偏斜位置,然後將所有這些結合起來,但這看起來有點粗暴,需要花費很多時間。
有沒有更好的算法呢?如果需要,我已經有了所有多邊形布爾運算的代碼。
我覺得這個算法我只是想起來會做到這一點:
分類每一行的多邊形它是否是更加面朝左上或面臨-右下角(或精確地沿着skew-方向線)。
然後,對每個頂點:
如果它連接了一條左上角和右下角線,然後將它分割成兩個頂點,一個頂點和一個頂點。
此步驟可能會導致自相交(例如,如果頂點是凹面並面向左下角),在這種情況下,丟棄兩個頂點並將兩個現有線與頂點交叉。
我不明白自相交避免步驟 – Dani
如果你不做額外的部分,你會得到一個三角形的自交在一些凹面。所有你需要做的就是「填充洞」,這恰好是交叉路口。我建議實施算法的其餘部分,然後您會看到問題和解決方案。 –
我實現了這一點,它的工作非常快速。關於自我交集,我所需要做的就是繪製帶有「正」卷繞的三角形,而不是默認的「奇數」卷繞。 – Dani