"《计算几何算法与应用》是国外教材的中文编译版,由Mark de Berg、Otfried Cheong、Marc van Kreveld和Mark Overmars原著,邓俊辉译,清华大学出版社出版。本书深入浅出地介绍了计算几何的基础知识和实际应用,包括线段求交、布尔运算、三角剖分、半平面求交、Voronoi图、凸包问题和K-D树等核心概念。"
正文:
计算几何是一门结合了计算机科学和几何学的学科,它主要研究如何在计算机中高效地表示、存储、操作和分析几何对象。《计算几何:算法与应用》一书详细讲解了这个领域的关键算法和实际应用。
1. **线段求交**:这是计算几何中的基本问题,涉及到判断两条线段是否相交。书中介绍了专题图叠合的方法,以及双向链接边表来处理线段集合的求交问题。此外,还探讨了布尔运算,如合并和剪切线段集合。
2. **多边形三角剖分**:在3D图形和模拟等领域中,三角剖分是将多边形分解为简单三角形的过程,便于处理和渲染。书中通过“画廊看守”的例子,讲解了如何进行多边形的单调块划分和单调多边形的三角剖分。
3. **线性规划**:在制造和优化问题中,半平面求交是解决这类问题的关键。书中详细阐述了如何使用递增式线性规划和随机线性规划方法,同时提到了无界线性规划和高维空间的线性规划问题,以及最小包围圆的概念。
4. **正交区域查找**:这部分讨论了一维和高维的区域查找,特别是kd-树和区域树的应用,这些数据结构在数据库查询和空间索引中非常有用。还提到了在高维空间中的一般性点集和分散层叠。
5. **点定位**:点定位是确定点在几何结构中的位置,如梯形图和随机增量式算法被用来高效解决这个问题。书中的内容还包括了处理退化情况的策略。
6. **Voronoi图**:Voronoi图是计算几何中的一个重要工具,它描述了空间中点集的邻域关系。书中不仅定义了Voronoi图的基本概念,还讲解了如何构造和处理线段集Voronoi图,以及最远点Voronoi图。
7. **排列与对偶**:排列和对偶变换在光线追踪和超采样等图形处理技术中扮演重要角色。书中详细介绍了直线排列的计算和对偶变换的理论,以及层阶和偏差的概念。
8. **Delaunay三角剖分**:Delaunay三角剖分是三角剖分的一种特殊形式,它保证了每个三角形的顶点不在其相邻三角形的内切圆内。这部分可能涉及高度复杂度的算法,对于三维建模和网格生成至关重要。
以上就是《计算几何:算法与应用》的主要内容,每一章都提供了注释和练习题,帮助读者深化理解并掌握计算几何的核心概念和应用。通过学习这本书,读者可以提升在计算几何领域的理论水平和实践能力。