当前位置: 首页 > news >正文

CGAL(计算几何算法库)

1. CGAL(计算几何算法库)

CGAL(计算几何算法库)提供涵盖算术与代数几何内核三角剖分与德劳内三角剖分网格生成形状重建几何处理19个核心板块的包,功能从基础代数运算(如多项式、模算术)延伸至复杂几何操作(2D/3D凸包、表面重建、网格优化),包的引入版本跨度从CGAL 0.9(最早,如2D和3D线性几何内核)到CGAL 6.0(最新,如2D多边形修复),许可证以LGPL(宽松,如代数基础、数值类型)和GPL(严格,如多数几何处理包)为主,且存在明确依赖关系(如高级包多依赖2D/3D三角剖分、排列等基础包),部分包提供Windows演示功能。


2. 思维导图(mindmap)

在这里插入图片描述


3. 详细总结

一、整体概述

CGAL(计算几何算法库)是专注于几何计算的开源库,提供19个核心板块的包,覆盖从“基础数学支撑”到“复杂几何应用”的全流程:

  • 版本跨度:包的引入版本从CGAL 0.9(1999年前后,如2D和3D线性几何内核)到CGAL 6.0(2023年前后,如2D多边形修复、动态空间分割);
  • 许可证:主要分为LGPL(宽松,允许商用且修改后无需开源全部代码,如代数基础、数值类型)和GPL(严格,修改后需开源,如多数几何处理、网格生成包);
  • 依赖关系:高级功能包普遍依赖基础包,例如“3D周期网格生成”依赖“3D周期三角剖分”,“2D可见性计算”依赖“2D排列”和“2D三角剖分”。
二、核心板块详细解析
(1)算术与代数:几何计算的数学基础

该板块定义CGAL的代数规则,为所有几何操作提供底层运算支持,所有包均采用LGPL许可证

包名称主要作者引入版本核心功能
代数基础Michael Hemmer3.3区分“代数类型”(非实嵌入)与“数值类型”(实嵌入),定义代数概念与函数
数值类型Michael Hemmer等4人1.0提供数值类型概念、类及第三方数值库包装(如ZQR、double)
模算术Michael Hemmer等2人3.4有限域上的算术运算,支持模算术滤波、中国剩余定理
多项式Michael Hemmer3.3单变量/多变量多项式的概念与实现(变量数固定)
代数核Eric Berberich等6人3.6单变量多项式实根求解(定位、比较、逼近),定义双变量核概念
(2)几何内核:几何对象的基础表示

该板块提供不同维度、不同类型几何对象的结构定义及操作,是所有几何算法的“原子组件”。

包名称主要作者引入版本核心功能许可证
2D和3D线性几何内核Hervé Brönnimann等8人0.92D/3D线性对象(点、线、射线、线段等),处理鲁棒性问题LGPL
dD几何内核Michael Seel1.1d维欧氏空间中的几何对象(点、向量、线段等)LGPL
2D圆几何内核Pedro Machado等3人3.2扩展线性内核,支持圆、圆弧、线段的混合操作GPL
3D球面几何内核Pedro Machado等4人3.4扩展线性内核,支持球面、圆弧、线段的3D球面操作GPL
(3)三角剖分与德劳内三角剖分:几何离散化核心

该板块是CGAL的核心功能之一,覆盖多维度、多空间场景,支持动态操作与对偶图构建,多数包采用GPL许可证

包名称主要作者引入版本核心功能依赖包
2D三角剖分Mariette Yvinec0.92D点集的普通/德劳内/正则/约束三角剖分,支持点插入/删除、点定位2D三角剖分数据结构
3D三角剖分Clément Jamin等3人2.13D点集的普通/德劳内/正则三角剖分,支持多核并行3D三角剖分数据结构
2D三角剖分(球面)Mael Rouxel-Labbé等3人5.3球面上2D点集的德劳内三角剖分,提供对偶沃罗诺伊图2D三角剖分数据结构
2D阿尔法形状Tran Kai Frank Da2.12D德劳内三角剖分相关的阿尔法复形(检索任意阿尔法值对应的复形)2D三角剖分
3D阿尔法形状Tran Kai Frank Da等3人2.33D德劳内三角剖分相关的阿尔法复形3D三角剖分
(4)网格生成:高质量几何离散化

该板块专注于生成满足工程需求的网格(如尺寸、形状约束),支持2D/3D、周期/非周期场景,均采用GPL许可证

包名称主要作者引入版本核心功能依赖包
2D一致三角剖分与网格Laurent Rineau3.12D一致德劳内三角剖分、网格生成(满足尺寸/形状标准)、Lloyd优化2D三角剖分
3D网格生成Pierre Alliez等6人3.53D有界域的各向同性单纯形网格,支持多核并行3D三角剖分、Eigen
3D阿尔法包裹Pierre Alliez等5人5.5从点集/网格/三角汤生成紧致、无交、2-流形的包裹网格3D三角剖分、多边形网格处理
3D周期网格生成Mikhail Bogdanov等4人4.133D平环域(周期域)的周期网格生成3D周期三角剖分、3D网格生成
(5)其他关键板块简述
  • 多边形处理:涵盖2D多边形修复(CGAL 6.0)、布尔运算(Nef多边形、正则集合运算)、闵可夫斯基和等,依赖2D三角剖分/排列,许可证多为GPL;
  • 形状重建:包括泊松表面重建(从带法向点集生成表面)、前沿推进重建(贪心算法),依赖CGAL与求解器、三角剖分,许可证为GPL;
  • 空间搜索与排序:提供dD空间搜索(邻域/范围查询)、AABB树(快速相交计算)、四叉树/八叉树,许可证为GPL;
  • 支持库:含CGAL与Boost/Qt的接口、几何对象生成器、I/O流,许可证多为LGPL,是跨库协作的核心;
  • 可视化:提供Qt图形视图集成、基础查看器(CGAL 6.0,支持多数据结构同时展示),许可证为LGPL/GPL。

http://www.dtcms.com/a/596986.html

相关文章:

  • 数据中台:打破企业数据孤岛,实现全域资产化的关键一步
  • 如何保持自己的技术前沿性?
  • 『 QT 』显示类控件 二
  • 【Rust】m2 mac 编译linux 、aarch、win 程序
  • 【FAQ】HarmonyOS SDK 闭源开放能力 — Network Kit
  • 使用arduino用 esp32 连接阿里云遇到的坑
  • 哈尔滨市延寿建设局网站巢湖网站开发
  • 制作百度移动网站模板网页服务器一年多少钱
  • 从概念到偏好:文生图模型的四层进化之路(训练过程)
  • Gated DeltaNet 网络学习记录
  • <数据集>yolo航拍斑马线识别数据集<目标检测>
  • GitHub笔记
  • SpringBoot+Vue3无人机AI巡检系统
  • 中山网站百度优化社交网站建设教程
  • 彩票网站怎么做推广淮安高端网站制作
  • 基于MATLAB实现的Elman神经网络用于电力负载预测
  • uni-app iOS日志管理实战,从调试控制台到系统日志的全链路采集与分析指南
  • Python 正则表达式全解析:基础到高效提取实战
  • Kubernetes部署Dashboard服务
  • Psychtoolbox (PTB)安装指南
  • 学习threejs,打造虹彩编织球体
  • 面向对象(上)-MVC设计模式的理解
  • 你访问的网站正在建设wordpress 如何支持短代码
  • 解决Tank and Temple在线测试上传点云过慢的问题
  • Failed to download metadata for repo ‘openresty‘ for Alibaba Cloud Linux 3
  • DSM7.2部署可道云+onlyoffice在线办公系统
  • 博客做网站公司网站建设的现状
  • Linux内核驱动开发实战 --从零构建字符设备驱动
  • 400 badRequest
  • 电商购物网站模板下载迅速编程做网站