1、介绍
多边形是一个封闭的边缘链。有多种算法可用于多边形。对于其中一些算法,多边形必须是简单的。如果边缘不交叉,则多边形是简单的,除了连续的边缘,它们在共同的顶点相交。
有以下算法可用:找到最左、最右、最上和最下顶点。计算(有符号)面积。检查多边形是否简单。检查多边形是否为凸多边形。找到方向(顺时针或逆时针)。检查一个点是否位于多边形内。所有这些操作都以两个前向迭代器作为参数来描述多边形。这些参数具有点类型作为值类型。
Polygon_2类型可用于表示多边形。多边形是动态的。可以修改、插入和删除顶点。它们提供上述算法作为成员函数。此外,它们还提供遍历顶点和边的途径。
Polygon_2 类是围绕点容器的包装,但仅此而已。特别是,计算值没有被缓存。也就是说,当 Polygon_2::is_simple() 成员函数被调用两次或更多次时,每次都会重新计算结果。
2、范例
1、Polygon_2类的使用
2、判断任意点相对多边形的位置
3、三维空间的多边形投影到2D
4、顶点和边的迭代器
5、绘制2D多边形