導航:首頁 > 使用方法 > 常用的線段裁剪方法有

常用的線段裁剪方法有

發布時間:2023-02-04 17:18:15

❶ 裁剪演算法

OpenGL中經常用到裁剪,這里記錄下裁剪的一些基本演算法和概念。

裁剪就是去掉窗口外不可見的部分,保留在窗口中的內同。是OpenGL的管線中必不可少的一步,裁剪演算法的執行效率會直接影響整個程序的效率。
裁剪可以按照線或面進行,一般使用規則裁剪框進行裁剪,也有用不規則圖形進行裁剪,常見的是使用矩形框進行裁剪。
裁剪過程的難度隨裁剪區域的復雜度和被裁剪物體的形狀復雜程度增加。
這里用矩形裁剪框解釋常用的裁剪演算法。

點的裁剪相對簡單,已知矩形裁剪框的兩個對角線頂點坐標A(x1,y1)、B(x2,y2),判斷點P(x,y)是不是在A、B坐標范圍內即可。
若:
min(x1,x2) <= x <= max(x1,x2);
min(y1,y2) <= y <= max(y1,y2);
則P點在裁剪框中,否則在裁剪框外。

這里說的直線,都是線段。線的裁剪演算法有很多,常見的有:cohen-sutherland演算法,中點分割裁剪演算法,Liang-Barsky演算法,beck演算法等。

這個演算法的主要思想是,用四位掩碼做運算判斷線是否在裁剪框內,如果在或全部在裁剪框外,結束。如果部分在窗口中,用線和裁剪框的交點對線段進行分割,然後分割後的繼續重復判斷。步驟如下:

設要裁剪的線段是P0P1。從P0端點出發,找出離P0點最近的可見點。從P1端點出發,找出離P1點最近的可見點。這兩個可見點的連線就是裁剪框中的要保留的部分。
找可見點的方法用二分法,先取線段的中點M點,判斷P1M是否可見,如果不能定為不可見,用P1M線段再2分,重復判斷。

閱讀全文

與常用的線段裁剪方法有相關的資料

熱點內容
氣舍穴最佳取穴方法 瀏覽:570
風管連接可以採取哪些方法 瀏覽:450
紅棗用什麼方法做效果好 瀏覽:946
窗口的關閉按鈕在哪裡設置方法 瀏覽:87
回憶性散文一般常用的敘述方法 瀏覽:282
房門對衛生間門解決方法 瀏覽:604
一年級什麼是口算方法 瀏覽:876
宮頸糜爛度的治療方法 瀏覽:948
科學種植致富的方法 瀏覽:540
靈卡預測最簡單方法 瀏覽:370
微信轉移通訊錄在哪裡設置方法 瀏覽:366
旅行備用手機使用方法 瀏覽:673
課堂游戲互動屬於什麼教學方法 瀏覽:434
食用粘液的使用方法 瀏覽:70
手機指紋解鎖的正確方法 瀏覽:558
防水地漏的安裝方法圖解 瀏覽:77
月亮餐的製作方法視頻 瀏覽:248
小熊電烤箱使用方法 瀏覽:203
治療宮頸炎最好方法 瀏覽:663
對孩子使用手機好的方法和建議 瀏覽:619