【Computing Geometry --计算几何】初级篇 <一>

定义

计算几何computational geometry,研究几何模型和数据处理的学科,探讨几何形体的计算机表示。分析和综合,研究如何灵活、有效的建立几何形体的数学模型以及在计算机中更好地存储和管理这些模型数据


概述

由函数逼近论、微分几何、 代数几何、 计算数学等形成的边缘学科,研究几何外形信息的计算机表示、分析和综合。它是 计算机辅助几何设计(即CAGD)的数学基础。计算机辅助设计的研究工作始于1955年 ,20世纪60年代进入实用阶段,到70年代已广泛应用于造船、航空、汽车及众多工业产品的外形设计和制造领域。进行此项工作的设计者首先要把一般的曲线或曲面表示在计算机上,然后对这些曲线或曲面的几何性质进行分析,比如看曲线上有无拐点、奇点、曲面的凹凸性等等,最后采用有效的数值计算方法,经过程序运算或人机对话等形式控制或修改这些曲线或曲面,使之符合产品设计的要求。
请先阅读博客:(数学基础)
http://www.cnblogs.com/jbelial/archive/2011/08/04/2127487.html

接下来将凸包(经典)

可以先参考博客 http://www.cnblogs.com/jbelial/archive/2011/08/05/2128625.html


关于二维凸包的算法

1.极端边算法 ExtremeEdgesAlgorithm(S) 算法复杂度:O(n^2)

2.礼品包裹算法 GiftWrappingAlgorihtm(S) 算法复杂度:O(nlogn)~O(n^2)

3.快速凸包算法 QuickHullAlgorithm(S) 算法复杂度:O(nlogn)~O(n^2) 比2.稳定。

4.Graham算法 GrahamAlgorihtm(S) 算法复杂度:O(nlogn) 最坏情况下最稳定。但不易扩展至高纬度。算法是线性的复杂度主要依赖于排序算法而排序的算法复杂度是O(nlogn)。

5.改进的Graham算法 Improved-grahamAlgorithm(S) 同上,细节上优化了一些。

6.增量算法 IncrementalConvexHull(S) 复杂度:O(n^2) 经过预处理可以降到O(nlogn)但失去了动态(dynamic)功能。

7.分而治之算法 Divide and conquer(S) 复杂度:O(nlogn).



你可能感兴趣的:(凸包,计算几何)