wiuty
梦成长的地方

NTS的Algorithm命名空间包含了拓扑功能中常用的算法,其命名空间下包含以下类:

 

CentroidArea:求面的质心,注释中说算法已经扩展到处理带孔多边形和multi-polygon。

CentroidLine:求线/多线的质心。

CentroidPoint:求点/多点的质心。

 

CGAlgorithms:即Computational Geometric Algorithm,一些计算几何的基础算法,例如点在环内,点在线上,点线距离等等。

NonRobustCGAlgorithms:CGAlgorithms的非健壮性的实现版本,仅用于测试。

 

InteriorPointArea: ╲

InteriorPointLine:--- 注释让人看不懂,所以mark一下,以后懂了再回头看看。

InteriorPointPoint:╱

 

IPointInRing:接口,定义了方法点是否在环内,IsInside,返回布尔值。

MCPointInRing:实现了IPointInRing接口,算法用一个单调链和一个二叉查找树索引来提高性能。

SimplePointInRing:实现IPointInRing接口的简单算法。

SIRtreePointInRing:实现IPointInRing接口,算法用SIR树方法来实现。

 

LineIntersector:基类,判断线段是否相交,还可以返回交点。

NonRobustLineIntersector:LineIntersector的非健壮性的实现版本。

RobustLineIntersector:LineIntersector的健壮性的实现版本。

 

MinimumDiameter:计算Geometry的最小直径,最小直径的概念是包含所有点的最小圆的直径。

ConvexHull:计算一个几何体的凸壳,采用的是Graham扫描算法。

HCoordinate:即Homogeneous Coordinate,求两线的交点,返回的是齐次坐标点。(X,Y)→(X,Y,H)

PointLocator:计算点和geometry的拓扑关系。

RobustDeterminant:计算一个2×2的行列式的双精度值,方法的返回值是int型,不是很理解。原注释如下,Implements an algorithm to compute the sign of a 2x2 determinant for double precision values robustly.

SimplePointInAreaLocator:判断点是否在面内,仅仅是点不在面边界上的。

NotRepresentableException:继承系统异常类,用于抛出“点无法在笛卡尔平面上绘制出”异常。

posted on 2012-08-27 20:51  wiuty  阅读(876)  评论(0)    收藏  举报