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

常用的線段裁剪方法有

發布時間: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分,重復判斷。

閱讀全文

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

熱點內容
中國股票代碼有哪些區分方法 瀏覽:909
公告時間計算方法 瀏覽:33
5歲腱鞘積液最佳治療方法 瀏覽:76
懷孕不了的治療方法 瀏覽:780
帶座套的正確方法 瀏覽:945
做大閘蟹的方法是什麼 瀏覽:292
呼吸困難的鑒別方法 瀏覽:341
燃氣煮麵桶平底鍋開鍋正確方法 瀏覽:925
氯漂粉正確使用方法 瀏覽:283
如何評價可持續發展方法 瀏覽:379
戒指怎麼折最簡單方法不用膠水 瀏覽:331
化妝師的步驟和方法 瀏覽:729
肝癌病人口苦有什麼治療方法 瀏覽:618
腸鳴音計算方法 瀏覽:135
空調壓縮機測量方法 瀏覽:851
抽銀河卡的方法和技巧 瀏覽:429
如何打開win7防火牆設置在哪裡設置方法 瀏覽:602
404除以5的豎式計算方法 瀏覽:911
種黃豆的方法視頻教程 瀏覽:623
5乘19乘12簡便方法計算 瀏覽:711