计算几何——多边形三角化
时间复杂度:nlogn
首先,将多边形分成多个单调多边形。需要对merge点和split点进行处理。单调多边形是不包括merge节点和split节点的多边形
首先用扫描线法,将多边形分成多个梯形(梯形可以退化成三角形);
merge点:一个点的邻居两点都比它;
split点:一个点的邻居两点都比它低;
对于merge点,寻找邻居下梯形的一个点(该点同时也是多边形的一个点),连接merge点和这个点;
对于split点,寻找邻居上梯形的一个点(该点同时也是多边形的一个点),连接merge点和这个点;
这样,多边形的单调划分完成了。
书上用的不是梯形划分法,而且直接通过扫描线找到split和merge节点。
上图:
参考其他的教程:http://www.cnblogs.com/dogstar/archive/2011/04/07/2008726.html
这个教材不是用梯形法。比较好实现。
对于每个单调的划分区域,用下面的算法完成该区域的三角分割&