基于CGAL的Delaunay三角网应用

目录

  • 1. 背景

    • 1.1 CGAL
    • 1.2 cgal-bindings(Python包)
    • 1.3 vtk-python
    • 1.4 PyQt5
  • 2. 功能设计
    • 2.1 基本目标
    • 2.2 待实现目标
  • 3. 功能实现
  • 参考:

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

原文地址:https://www.cnblogs.com/yaoyu126/p/10046504.html

时间: 2024-08-30 07:40:28

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

ArcGIS与R语言的Delaunay 三角网生成法

上一次讲罗马七丘的空间分析的时候,讲了一个Delaunay 三角测量--实际上这个东西也是泰森多边形的基础,泰森多边形就是在这个Delaunay三角上面进化出来的东西,所以很多同学在问我,这个东东怎么做啊?在ArcGIS里面有工具么?还是那句话:没有现成的工具--但是可以通过一系列手段来完成. 还有就是可以通过R语言来做Delaunay三角--这个是一个很神奇的东东--当然,python也行,高手自己写算法也行. 今天简单讲讲如何用ArcGIS和R语言来分别生成Delaunay三角网. 示例数据

OpenCV中Delaunay三角网算法例子

#include <opencv2/opencv.hpp> #include <vector> using namespace cv; using namespace std; typedef struct _TRIANGLE_DESC_ { Point pt1, pt2, pt3; _TRIANGLE_DESC_(const Point _pt1, const Point _pt2, const Point _pt3): pt1(_pt1), pt2(_pt2), pt3(_pt

使用scipy.spatial.Delaunay 实现三角网的构建

1. 前言 众所周知,Delaunay三角剖分算法在测绘工程中有着重要的应用.如果你是使用C#,Java之流的编程语言,不好意思你得自己去实现这个算法.好在python有着非常强大的开源库,python+numpy+scipy+matplotlib可谓科学计算”黄金搭档“,当然诸如pandas之流的高性能数据分析库,掌握他们你就不必重复造轮子了. 2. 进入正题 这篇随笔主要介绍如何使用Python+scipy+numpy+matplotlib来演示Delaunay三角网的构建并最终以图形显示出

基于空间误差同质区的矢量电子地图快速纠偏算法 Fast Map Rectification Algorithm Based on Spatial Error Homogeneous Region

作 者:蔡文婷刘正坤CAI Wen-tingLIU Zheng-kun(Dingxin Information Technology Co.Ltd,Guangzhou 510623Guangdong Electric Power Design Institute Co.Ltd of China Energy Engineering Group,Guangzhou 510663,China) 作者机构:[1]鼎信信息科技有限责任公司,广东广州510623;[2]中国能源建设集团广东省电力设计研究院

基于三维GIS技术的矢量地图动态LOD渲染方法研究现状

“地图是人类文化的杰作,它融科学.艺术于一体,作为描述.研究人类生存环境的一种信息载体是人类生产与生活中不可缺少的一种工具.”这是陈述彭院士为<中国地图学年鉴>作序的开场语.Taylor也曾指出“当涉及应用人脑来识别空间联系中的模式与相互关系时,地图学的认知方法是唯一的过程”.地图存在于我们生活的方方面面,应用广泛且己经产生了巨大的社会效应和经济效益,其重要性不言而喻.地图是地图可视化的结果,地图可视化作为现代地图学的核心一直是三维GIS的研究热点.地图可视化将电子设备的视觉传输能力和人类的视

理工科应该的知道的C/C++数学计算库(转)

理工科应该的知道的C/C++数学计算库(转) 作为理工科学生,想必有限元分析.数值计算.三维建模.信号处理.性能分析.仿真分析...这些或多或少与我们常用的软件息息相关,假如有一天你只需要这些大型软件系统的某一个很有限的功能,你是不是也要因此再用一用那动辄几个g的软件呢?其实我觉得如果系统不是很大,不是很复杂,我们个人完全有可能自己去编写代码来实现这些‘’有限的功能‘’.别以为这是件很困难的事情,我总以为大学期间学的c语言是极其有用的,只要你会基本的c语言语法,你就可以的. 下面我来介绍几个非常

opencv3.1自带demo的介绍和运行操作。转载

opencv3.1自带demo的介绍和运行操作. 下列实验基本都试过,有些需要根据自己的电脑修改一些路径或者调试参数. 值得注意的是,控制台程序输入有时候要在图像所在的窗口输入相应的指令.我的电脑上安装了vs2013和2015. vs2015+opencv3.1/2.4.9在我的电脑上经常有这个错误:xxxx处有未经处理的异常: 将一个无效参数传递给了将无效参数视为严重错误的函数 ,或者提示在vector.h里的错误.后来用VS2013+Opencv3.1就没有这个问题. opencv可能还是有

cv1.2

图像去噪声 添加高斯噪声 // cv2.cpp : Defines the entry point for the console application. // #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; #define TWO_PI 6.2831853071795864769252866 double generateGaussianNois

泰森多边形-最强大脑节目知识

泰森多边形(Voronoi图)生成算法 一.文档目的本文描述了在geomodel模块中,生成泰森多边形所使用的算法.二.概述GIS和地理分析中经常采用泰森多边形进行快速插值,和分析地理实体的影响区域,是解决邻接度问题的又一常用工具.荷兰气候学家A·H·Thiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形.用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多