一、简介
假设给定一组由线段连接的有序二维点,这些点构成一个闭合或开放的轮廓,CGAL中提供了三种方式来实现多边形轮廓的规则化:
- 平行:将检测到的接近平行的轮廓边缘完全平行。
- 正交性:将检测到接近正交的轮廓边缘,使其完全正交。
- 共线:检测与平行轮廓边接近的边,使其与平行轮廓边精确共线。
该算法假设每个轮廓至少有一个主方向,该方向是轮廓边缘旋转的参考方向。给定一组这样的方向,要么是估计的,要么是用户指定的,每条边要么与这些方向平行,要么是正交的。
为了估计轮廓的主方向,CGAL中提供了ContourDirections概念的三个模型:
- Contours::Longest_direction_2 -将最长的轮廓边设置为唯一的主方向。
- Contours::Multiple_directions_2 -尝试根据用户指定的参数估计轮廓中的多个主方向。