1. 程式人生 > >基於CGAL的Delaunay三角網應用

基於CGAL的Delaunay三角網應用

目錄

1. 背景

  本應用基於CGAL中的Delaunay進行三角網構建, 通過PyQt5和vtk進行介面展示

1.1 CGAL

  CGAL是Computational Geometry Algorithms Library(計算幾何演算法庫)的縮寫,用C++語言提供高效、可靠的演算法庫。被廣泛應用於幾何計算相關的領域,如資訊視覺化系統,計算機輔助設計,分子生物學,醫學影象處理,計算機圖形學,機器人設計等。(

CGAL百度百科)

1.2 cgal-bindings(Python包)

  cgal-bindings(Python包)是CGAL通過swig進行的Python繫結, 讓Python使用者可以使用CGAL庫.

本應用使用CGAL.CGAL_Triangulation_2.Delaunay_triangulation_2庫進行Delaunay三角化.

1.3 vtk-python

  Vtk(visualization toolkit)是一個開源的免費軟體系統,主要用於三維計算機圖形學、影象處理和視覺化。(vtk百度百科)

本應用使用vtk的python包進行三維格網展示. (vtk-python

)

1.4 PyQt5

  PyQt5是Qt5的Python繫結. 用於傳統桌面程式開發.

2. 功能設計

2.1 基本目標

  1. 使用PyQt5 + vtk, 建立應用程式框架;
  2. 使用Delaunay_triangulation_2進行離散點Delaunay三角構網;
  3. 在介面中顯示構網成果;

2.2 待實現目標

  1. 將2d點擴充套件到3d點(2.5d化);
  2. 指定點,查詢在高程;
  3. 指定多義線, 查詢多義線在三角網上的豎直方向投影多義線;
  4. 構網成果儲存為obj檔案;

3. 功能實現

  基本目標已初始實現, 程式碼見https://gitee.com/y15399909481/yDelaunator

參考:

  1. CGAL百度百科
  2. CGAL維基百科
  3. vtk百度百科
  4. vtk-python
  5. PyQt5
  6. https://gitee.com/y15399909481/yDelaunator