单调多边形的三角剖分

单调多边形的三角剖分

问题描述

单调多边形指存在一个方向,垂直于此方向的所以扫描线与多边形只有两个交点。
这里讨论垂直方向单调多边形的三角剖分。

单调多边形的三角剖分_第1张图片

为方便描述,这里没有水平的边。

规律1: 同侧端点不可能出现跨越

把多边形从最高点到最低点处剖开,分成左右两链,其中任何一条链,端点都是按y值顺序排列的。
也就是说,下面的端点不可能高于上面的端点,否则,与y值方向的单调性相违背。
如图:D高于C时,显然在C处的水平线会再次与此链相交。

单调多边形的三角剖分_第2张图片

规律2:异侧相邻

如果两个端点,在竖直方向上相邻的,但不在同一侧,即分别在左右两条链上,那这两点相连不会与其它边相交。
如下图,B与G在竖直方向相邻,那BG不会与其它边相交。
因为B,G已经相邻,即中间没有其它端点,如果存在一边与BG相交,那它一定有一端点在B上方,另一端点在G下方,否则不可能与BG相交。
由于规律1,端点连接不可能出现跨越的情况,即上方的端点不可能跨越B或者G与下方的点相连,即这样的边不存在。
所以BG是可以增加连线的。

单调多边形的三角剖分_第3张图片

同侧相邻端点处理

对异侧相邻点添加连线后,多边形会被划分为多个子多边形。每个子图都是这样的:一侧剩下相邻的点,另外一侧只有一条边,连接的是最高点与最低点。
同侧相邻的点相连可能会超出多边形,所以对于同侧相邻的三个点不能直接相连,而是要判断其它内角,如果小于 18 0 ∘ 180^\circ 180,那连线就在多边内部,而且不可能与另外一边相交。

以上图为例,连接ID,ID不但在多边形内部,而且,不可能与HK相交,因为HK在 △ D E I \triangle{DEI} DEI外部,如果与ID相交,必然与DEI相交。

倒置漏斗

经过上面的处理,图形将变成倒置漏斗状,如图:

单调多边形的三角剖分_第4张图片

此时的左下角必然是一个小于 18 0 ∘ 180^\circ 180的角,否则会产生矛盾。

假设左下角,即 ∠ P Q S > 18 0 ∘ \angle{PQS} > 180^\circ PQS>180, 则 ∠ R Q S > 18 0 ∘ \angle{RQS}>180^\circ RQS>180,意味着Q会出现在RS的右侧,这显明是不可能的,所以左下角一定小于 18 0 ∘ 180^\circ 180,于是可以大胆地将PS连接起来,
类似地,剩下的端点,O,N,M,L,也可以与S连接起来。
于是完成了整个多边形的三角剖分。

你可能感兴趣的:(Computer,Graphics,三角剖分,计算几何)