首页 > 解决方案 > 如何将路径转换为 ​​CGAL 结构

问题描述

给定由以下语句组成的路径:

  1. 搬去
  2. 线托
  3. 关闭路径

您将如何将路径转换为列表CGAL::Polygon_with_holes_2

更具体一点。该路径可以是一串字形的轮廓的线性化的输出。考虑例如文本字符串“xo”变成这样的路径。这将导致 3 个不相交的封闭多边形:

  1. 对应于“x”的逆时针多边形
  2. 对应于“o”的逆时针(几乎圆形)多边形
  3. 与“o”中的孔相对应的顺时针(也几乎是圆形,但更小)路径

如果我正确理解 CGAL 的文档,这可能会在 CGAL 中存储为两个CGAL::Polygon_with_holes2. 但是,在给定上述三个多边形的路径的情况下,您如何构建这些?是否有一个方便的功能,还是我必须检查所有路径多边形的交叉路口?

标签: cgal

解决方案


您可以使用以下构造函数,它采用外部边界多边形(必须是逆时针方向)和孔的范围(也是Polygon_2对象但顺时针方向)。

您可以Polygon_2使用一系列 2D 点构建一个。


推荐阅读