1. 程式人生 > >計算幾何學習筆記

計算幾何學習筆記

        計算幾何的重要之處在於它是多門技術與學科的基礎,例如圖形學、CAD、GIS、路徑規劃等。這些技術的背後原理往往是基於計算幾何的本質上。作為圖形學和CAD領域的研究者和從業人員,個人十分推薦清華大學鄧俊輝老師講述的《計算幾何》這門課程。所有對計算幾何感興趣的同學都可以通過學堂線上線上免費自主學習。本系列即為作者在學習過程中的學習筆記。一方面通過筆記加強作者對課程內容的理解;另一方面也通過部落格分享這門課程的精華,以期幫助更多感興趣的同學進入這一有趣的學科。

        通俗來講,本門課程所講述的內容可以視作《演算法設計與分析》的一個幾何分支。因此,它其中也蘊含了演算法設計與分析中的很多思想,其求解正規化及策略主要包括:遞增式構造、平面掃描、分而治之、分層化、近似以及隨機化等。

        學習計算幾何,首先需要有敏銳的觀察,因為很多演算法都可以來自於直覺或者直覺的啟發;其次要多加練習,多動手,多實踐。因此在下面每部分內容的學習筆記之外,作者還將程式設計實現其中涉及的主要演算法,並且將原始碼公佈在Github上,以期和更多的同學、同事交流。

        本課程涉及的基本幾何結構及其演算法包括:凸包、幾何求交、多邊形三角剖分、Voronoi圖、Delaunay三角剖分、點定位、範圍查詢、截窗查詢等。在接下來的部落格中,作者將依照課程順序介紹如下主要內容:

        1、凸包:

        2、幾何求交:

        3、三角化:

        4、Voronoi圖:

        5、Delaunay三角剖分:

        6、點定位:

        7、幾何範圍查詢:

        8、截窗查詢: