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

基于CGAL的Delaunay三角网应用的更多相关文章

  1. C++ 基于凸包的Delaunay三角网生成算法

    Delaunay三角网,写了用半天,调试BUG用了2天……醉了. 基本思路比较简单,但效率并不是很快. 1. 先生成一个凸包: 2. 只考虑凸包上的点,将凸包环切,生成一个三角网,暂时不考虑Delau ...

  2. 通过CGAL将一个多边形剖分成Delaunay三角网

    目录 1. 概述 2. 实现 3. 结果 4. 参考 1. 概述 对于平面上的点集,通过Delaunay三角剖分算法能够构建一个具有空圆特性和最大化最小角特性的三角网.空圆特性其实就是对于两个共边的三 ...

  3. OSG :三维无序离散点构建Delaunay三角网

    利用OSG的osgUtil库里面的DelaunayTriangulator类. points是需要构建三角网的点 osgUtil::DelaunayTriangulator* trig = new o ...

  4. OpenCV中Delaunay三角网算法例子

    #include <opencv2/opencv.hpp> #include <vector> using namespace cv; using namespace std; ...

  5. 基于均值坐标(Mean-Value Coordinates)的图像融合算法的优化实现

    目录 1. 概述 2. 实现 2.1. 原理 2.2. 核心代码 2.3. 第二种优化 3. 结果 1. 概述 我在之前的文章<基于均值坐标(Mean-Value Coordinates)的图像 ...

  6. OpenCV——Delaunay三角 [转载]

    从这个博客转载 http://blog.csdn.net/raby_gyl/article/details/17409717 请其它同学转载时注明原始文章的出处! Delaunay三角剖分是1934年 ...

  7. paper 153:Delaunay三角剖分算法--get 这个小技术吧!

    直接摘自百度百科,希望大家能根据下面的介绍稍微理顺思路,按需使用,加油! 解释一下:点集的三角剖分(Triangulation),对数值分析(比如有限元分析)以及图形学来说,都是极为重要的一项预处理技 ...

  8. Delaunay三角剖分及MATLAB实例

    https://blog.csdn.net/piaoxuezhong/article/details/68065170 一.原理部分 点集的三角剖分(Triangulation),对数值分析(如有限元 ...

  9. 2D Convex Hulls and Extreme Points( Convex Hull Algorithms) CGAL 4.13 -User Manual

    1 Introduction A subset S⊆R2 is convex if for any two points p and q in the set the line segment wit ...

随机推荐

  1. CPU 指令集(Instruction Set Architecture, ISA)

    本文摘自网络 概念 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合.拥有这些指令集,CPU就可以更高效地运行.系统所下达的 ...

  2. 1 TaskQueue 实现Task 队列

    class Program { static void Main(string[] args) { List<Person> list = new List<Person>() ...

  3. 洛谷——P3833 [SHOI2012]魔法树

    P3833 [SHOI2012]魔法树 题目背景 SHOI2012 D2T3 题目描述 Harry Potter 新学了一种魔法:可以让改变树上的果子个数.满心欢喜的他找到了一个巨大的果树,来试验他的 ...

  4. Vue动态组件&异步组件

    在动态组件上使用keep-alive 我们之前曾经在一个多标签的界面中使用is特性来切换不同的组件: Vue.js的动态组件模板 <component v-bind:is="curre ...

  5. CA认证相关

    目录 CA认证相关 基本概念 CA认证相关 公钥私钥详解>> 基本概念 密钥对: 在非对称的加密技术中心, 有两种密钥, 分为私钥和公钥,私钥 --RSA算法-->公钥. 公钥: 公 ...

  6. Thesis Viva checklist

    This list gives you suggestions helpful in preparing to defend your thesis: I know my thesis thoroug ...

  7. Beetl学习总结(3)——高级功能

    3.1. 配置GroupTemplate Beetl建议通过配置文件配置配置GroupTemplate,主要考虑到未来可能IDE插件会支持Beetl模板,模板的属性,和函数等如果能通过配置文件获取,将 ...

  8. RAID级别简介

    独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(RAID, Redundant Array of Inexpensive ...

  9. Tensorflow MNIST浅层神经网络的解释和答复

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51416540 看到之前的一篇博文:深入 ...

  10. CentOS6.5下卸载MySql(yum安装)

    因为我是用yum安装的mysql,所以卸载相对简单 yum -y remove mysql* 再把相关的文件删掉, rm -f /etc/my.cnf.rpmsave  rm -rf /var/lib ...