道格拉斯-普克算法(Douglas–Peucker algorithm),亦稱為拉默-道格拉斯-普克算法(Ramer–Douglas–Peucker algorithm),是一種用於簡化曲線的算法。該算法通過減少曲線中點的數量來簡化曲線,同時保持曲線的基本形狀,主要用於地理信息系統(GIS)和計算機圖形學中。
道格拉斯-普克算法的基本思路是:首先連線曲線的首末兩點,形成一條直線;然後計算曲線中每一點到這條直線的距離,找出最大距離dmax;如果dmax小於一個給定的閾值D,那麼曲線上的中間點全部捨去;如果dmax大於或等於D,則保留最大距離點及其兩側的點,並以該點為界將曲線分為兩部分;對這兩部分遞歸地套用相同的算法,直到所有點到直線的最大距離都小於D。
該算法的優點包括平移和旋轉不變性,即給定曲線與閾值後,抽樣結果一定。這種算法在處理大量數據點時非常有效,能夠顯著減少數據量,同時保持曲線的基本形狀,常用於科學可視化、地圖製作等領域。