案例:用乙個矩形框裁剪乙個多邊形。
思路:將問題降到邊切割邊的問題。
霍格曼演算法:h
遍歷 裁剪多邊形的每一條邊,每一條邊向兩邊無限延長,依次分割多邊形。
遍歷被裁剪多邊形的每條邊 。2條邊的位置關係比較明確。
當被裁剪多邊形一條邊(起點p,終點q),相對於視窗某條邊界及其延長線進行剪裁時,共有四種情況:
1、起點p和終點q都在內測,則將起點p存入新的頂點序列;
2、起點p在內側,終點q在外側,則先求交點s,再將s、p依次存入新的頂點序列;
3、起點p在外側,終點q在內側,則先求交點s,再將s存入新的頂點序列;
4、起點p和終點q均在外側,則頂點序列中不增加新的頂點。
多邊形裁剪
如果按線段的方法裁剪,得到的是一系列線段。而實際上,應該得到的是下圖所示的有邊界的區域 多邊形裁剪演算法的輸出應該是裁剪後的多邊 形邊界的頂點序列!需要構造能產生乙個或多個封閉區域的多邊 形裁剪演算法 該演算法的基本思想是將多邊形邊界作為乙個整體,每次用視窗的一條邊對要裁剪的多邊形和中間結果多邊形進...
多邊形裁剪二 Weiler Atherton演算法
weiler atherton 任意多邊形裁剪 sutherland hodgeman 演算法解決了裁剪視窗為凸多邊形視窗的問題,但一些應用需要涉及任意多邊形視窗 含凹多邊形視窗 的裁剪。weiler atherton 多邊形裁剪演算法正是滿足這種要求的演算法。一 weiler atherton 任...
Weiler Atherton多邊形裁剪演算法
這是乙個通用的多邊形裁剪演算法,既可以裁剪凸多邊形也可以裁剪凹多邊。通過下圖來描述演算法的執行過程 圖中dcba為裁剪視窗,dcba為要裁剪的多邊形。在演算法執行之前將多邊形和裁剪視窗的交點分別加入他們的頂點序列。即圖中的123456。則多邊形序列為 a,6,5,d,4,3,c,2,b,1 裁剪視窗...