幾何問題的高效演算法
計算幾何研究幾何問題的高效演算法,廣泛應用於電腦圖形學、機器人學、地理資訊系統、電腦視覺和遊戲開發。基礎問題包括凸包、最近點對、線段相交、點定位。
叉積可用於判斷三點的方向(順時針/逆時針)、線段相交檢測。
凸包是包含所有點的最小凸多邊形。Andrew 演算法(單調鏈)時間 O(n log n):先按 x 座標排序,分別求上下凸包。Graham Scan 也是 O(n log n) 的經典演算法。
在平面點集中找出距離最近的點對。使用分治法可達到 O(n log n):按 x 座標分割,遞迴求解左右兩側,再合併考慮分割線附近的點。