翻译:Programming with CGAL: the example of triangulations

1.CGAL:概览

  CGAL,是由European Community成立的大型项目。目的是开发可以普遍应用于计算几何的一系列对象和函数,并使他们在应用领域和非专业人士可方便使用。

  CGAL项目致力于提供健壮(robust),灵活高效的代码。模板和特征类这些方法受STL的启发。

  项目由三部分组成:Kernel,basic library和support library。内核实现了基本的几何对象,例如点,线段,线和圆,和一些对象常见的谓词如Orientation()或者in_circle()检测,相交检测,等等。基本类库包含大量的几何数据结构和算法,例如多边形,三角形和平面地图,多面体,凸包,最小外接圆和椭圆。还有树例如kd-trees或者range-tree。支持类库考虑了CGAL和可视化系统的联系,例如GeomView,OpenInventor,LEDA Window或者OpenGL。它们中的一些特别适合三维对象的可视化。

  类库大约100,000行C++代码,可以链接其他的C++,C或者Fortan的类库。例如GMP 、LEDA。CGAL是一款强大的工具应用于个人程序开发,他提供了健壮的普遍存在的几何数据结构的实现。其中的两个就像Delaunay三角化和Voronoi图。特别关注对于简化几何配置的处理,这种配置往往是频繁的。需要强调的是健壮性并不阻碍效率,因为几何算法依赖于计算工具的技术发展水平。特别地,类库可以用来很好的理解几何算法如果工作通过显示对输入数据的插入、删除、更改产生的几何数据结构的变化。本Video包括两部分,首先,介绍CGAL如何使用或满足用户的需求实现三角化;第二,它展示一个方便的工具,使用3DViewer和一个多线程设计来调试几何代码。

2.使用CGAL编程

在CGAL中,灵活健壮的主干通过使用对象技术和方便的计算工具。为了更好的理解CGAL的特征从灵活和先进的通用编程技术,我们展示一个2D三角网如何被实例化。

你可能感兴趣的:(programming)