第 5 章:CGAL 2D Polygon Partitioning(2D多边形分区)

1 引言

多边形 PPP 的划分是由一组多边形组成的集合,这些多边形的内部不相交,且它们的并集等于原始多边形 PPP 的内部。本章介绍将平面多边形划分为两类子多边形的函数——y 单调多边形和凸多边形。这些划分过程不会引入新的(Steiner)顶点。

所有划分函数对用户提供相同的接口。用户需要提供一对输入迭代器 first,beyondfirst, beyondfirst,beyond,一个输出迭代器 resultresultresult,以及一个 traits 类。区间 [first,beyond)[first, beyond)[first,beyond) 内的点被假定定义了一个简单多边形,且顶点按逆时针顺序排列。计算得到的划分多边形(顶点同样按逆时针排列)将被写入从 resultresultresult 开始的序列中,并返回该序列的末尾迭代器。traits 类指定了输入点和输出多边形的类型,以及算法需要的其他类型和函数对象。


2 单调划分

y 单调多边形是指其顶点 v1,…,vnv_1, \ldots, v_nv1​,…,vn​ 可以分成两条链 v1,…,vkv_1, \ldots, v_kv1​,…,vk​ 和 vk,…,vn,v1v_k, \ldots, v_n, v_1vk​,…,vn​,v1​,使得任意水平线最多与其中一条链相交一次。为了生成给定多边形的 y 单调划分,实现了文献[1]中的扫描线算法,该算法由函数 y_m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

《雨声》

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值