##前言 ##
接触CGAL已经有半年了,从最初的厌恶(对于一个初学者来说,CGAL确实有点难度,它要求初学者有一定基础)到后来的喜欢。现在觉得CGAL简直完美极了,虽然它存在一些BUG但是这并不妨碍我爱上CGAL。它的设计是那么的精巧,几何算法是那么的丰富,它的方方面面都让我惊叹,我相信只要你认真学习,绝对可以从中学习很多很多东西,不管是一个软件的设计,还是底层代码的编写,只要你认真学习了,我相信未来的你的计算机技术会有几个层次的飞跃。我写这些文章的目的是为了让CGAL更加的容易使用,让更多的中国开发者来使用CGAL,让CGAL变的更加的完美和强大。
## CGAL的简介 ##

CGAL(Computational Geometry Algorithms Library)计算几何算法库官网网址CGAL官网。如果你问CGAL是什么?学过C++的农工们都知道STL(Standard Template Library)。再想想我们在程序中使用STL中的vector, list ,deque等等。如果你说你没使用过STL中任何一个容器或者算法。我想你不必浪费时间继续学习CGAL下去了。赶紧打开手头上的IDE(vs ,vc60, vim)开始尝试着使用下STL吧。它真的是一个强大的模板库,使用很方便。等使用之后再来接着学习CGAL。没错,我之所以在这里提出STL,因为CGAL在计算几何扮演的地位就像STL在C++中的地位。它们的共同点都是使用者不需要了解内部具体实现过程,只需知道它能做什么事。打个比方,实现某个程序的时候,你希望你的数组长度是可变的,那么稍微知道点STL的就会想到vector。那么同样的道理,如果在你计算几何程序中,你想进行线段求交,CGAL中已经写好了线段求交算法,直接使用intersection_obj(segment1,segment2);此处未必是CGAL的实际代码,我只是举个例子。

## CGAL学习路线 ##

我介绍CGAL的初步路线是:泛型编程—>STL初探—>boost简单介绍—>CGAL使用与源码剖析。这也是我接下来计划写博客的路线图。因为从我学习CGAL半载以来,走过不少弯路,最终得出的一个我个人觉得不错的学习路线。只希望新的学习者们不要走太多的弯路,而中途放弃。

## 个人闲扯 ##
我最初接触到CGAL是在2014年6月份,从这时候起我慢慢的进入了CGAL的世界。对于初入CGAL领域的开发者来说,CGAL简直就像一把寒气逼人的名剑,剑气逼人,但又让人忍不住去触碰一下。我这么说是有我的理由的。首先,稍微接触过CGAL的人都知道,CGAL的编译安装都是一个让人不寒而栗的过程(我会在后面介绍CGAL的编译和安装)更不用说CGAL的使用了,当你看第一个CGAL程序的时候,你就会被它的泛型编程式的代码吓的不知所措。我这么说是因为它的邮件列表中统计出来的全球的开发者仅仅只有1101个人,在这1101个人中我相信一半以上都对CGAL不熟悉,他们想利用CGAL定制自己的程序都得费上好半天才能写出来,有的人甚至都写不来。我这么说不是瞧不起他们,而是事实确实如此。说了这么多CGAL的恐怖地方,希望别把你吓着,我只是说下我接触CGAL以来的一些感触,希望你们不用怕。因为我相信我会让CGAL变的容易。希望读者们能够耐心和我一起来学习CGAL,让CGAL变的容易。
我写出来CGAL的学习之路有一下几点原因,一、于我自己来说,写博客也好论文也罢,这对我来说是一个绝佳的锻炼机会。二、对于读者们来说或者CGAL开发者来说,可以帮助他们快速的学习CGAL,没有惧怕。三、我相信对于CGAL开发队伍来说,是一个很好的帮助。如果在文中有什么不对的地方,还希望读者将错误告知与我。我会不甚感激。我的联系方式是JacaYang@sina.com. 你可以发邮件给我告知我具体的错误,我会尽力去改正。另外,如果有志同道合者愿意和我一起研究CGAL,欢迎与我联系。

CGAL Cookbook --CGAL简介相关推荐

  1. CGAL环境配置(VS2019 PCL1.8)

    一.CGAL简介  CGAL是一个软件项目,它以C语言形式提供了方便访问且高效可靠的几何算法.CGAL应用于地理信息系统.计算机辅助设计.分子生物学.医学影像.计算机图形学和机器人技术等需要几何计算的 ...

  2. (二) CGAL库应用:轮廓中轴骨架生成create_interior_straight_skeleton_2()及轮廓的偏置create_offset_polygons_2()

    1 先看效果图 这是轮廓中轴的计算,中轴代表的是轮廓的骨架,在人体姿态识别.图像处理中是最基本的元素. 这是轮廓往外偏置一定距离的图示. cgal中实现轮廓中轴骨架生成及进行轮廓的偏置的是create ...

  3. 【C++】CGAL学习笔记

    一.HELLO WORLD 1. 官方文档:CGAL-TUTORIALS 2. 所有`CGAL`头文件都在子目录中.所有`CGAL`类和函数都在命名空间中.类以大写字母开头,全局函数以小写字母开头,常 ...

  4. CGAL例程:地理信息系统----点云数据生成DSM、DTM、等高线和数据分类

    作者:西蒙·吉罗多 链接:CGAL 5.4 - Manual: GIS (Geographic Information System) 目录 1 概述 2 不规则三角形网数据表示:TIN 3 数字表面 ...

  5. Algebraic Foundations ( Arithmetic and Algebra) CGAL 4.13 -User Manual

    理解: 本节主要介绍CGAL的代数结构和概念之间的互操作.与传统数论不同,CGAL的代数结构关注于实数轴的"可嵌入"特征.它没有将所有传统数的集合映射到自己的代数结构概念中,避免使 ...

  6. CGAL笔记之单元格复合体和多面体篇—三维多面体曲面

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 CGAL笔记之单元格复合体和多面体篇-三维多面体曲面 1 介绍 2 定义 3 示例程序 3.1 第一个使用默认值的例子 3.2 顶点中 ...

  7. CGAL笔记之凸包算法—3D凸包

    CGAL笔记之凸包算法-3D凸包 1 介绍 2 静态凸壳结构 2.1 特性类 2.1.1 示例 2.1.2 低维结果示例 2.2 极值点 2.3 半空间交集 2.3.1 例子 2.4 凸性检查 3 动 ...

  8. CGAL 求三维体数据的交并差(三维布尔运算)

    本示例使用 boost_1_68_0, CGAL-5.1.2 特别提醒: 目前CGAL5以上版本可以用头文件模式使用, 编译出来的东西运行仅仅依赖libgmp 和libmpfr  ,  以前编译出来的 ...

  9. C/C++ Development Library

    这里收集一些著名的 C/C++ 开发库.SDK.类库.可复用类与结构代码 等信息,列举它们的介绍.参考和网站链接,为各位 C/C++ 程序员和爱好者提供检索和查阅类库的方便 下面收集的 C/C++ 类 ...

最新文章

  1. shell公共函数:/etc/init.d/functions
  2. 浅谈wcscpy_s之用法
  3. python抓取数据库数据封装成json_用Python将mysql数据导出成json的方法
  4. 软件架构师的工作流程
  5. 【前端就业课 第一阶段】HTML5 零基础到实战(十)JavaScript基础一篇入门
  6. Flume之核心架构深入解析
  7. LeetCode MySQL 197. 上升的温度
  8. freemarker 生成java_半自动化Java代码生成器[利用freemarker模板生成]
  9. Mybatis数据库连接报错:对实体 “characterEncoding“ 的引用必须以 ‘;‘ 分隔符结尾
  10. html+jquery翻页相册(原创)
  11. 通过json发送html代码_Python简单程序爬取天气信息,定时以邮件发送给朋友
  12. mysql安装和下载过程_mysql下载与安装过程
  13. Postman 导出 curl命令 到命令行运行 Mac OS
  14. Java常用工具类总结
  15. Vivado:信道编码卷积编码和RS编码IP核
  16. 传统与现代的邂逅——新中式景观设计
  17. 使用 BulkLoad 向 HBase 中批量导入数据
  18. 黑苹果EFI引导启动文件,技嘉Z77P-D3+E3-1230 V2+蓝宝石RX560D+Macos10.15.x(5)
  19. R 和 Rstudio 在线更新
  20. python--正则表达式匹配密码

热门文章

  1. 笨方法学Python(1-5)
  2. JAVA中implements的用法
  3. 术业有专攻,数据库的 dba
  4. 关于Windows7 64位系统下regsvr32执行报错的解决方案
  5. 区块链、通证与供应链风险管理适应性分析研究
  6. 项目实战 航班飞行网图分析
  7. JS组合函数(Composition):原来如此!
  8. c#自定义事件以及与其他事件绑定
  9. Android 微博登录
  10. python爬取微博非好友圈_python爬取微博好友圈信息