在一个n个顶点的凸多边形中,插入对角线(对角线两两不相交)将多边形划分为三角形。
总共需要n-3条弦,将多边形切成n-2个小三角形。
设凸多边形n个顶点顺序为p[1],p[2],……,p[n],
它有n条边: <p[1]p[2]>, <p[2]p[3]>,……, <p[n-1]p[n]>, <p[n]p[1]>。
按顶点编号顺序,将其中的n-1条边写成下面这个序列:
<p[1]p[2]> <p[2]p[3]> <p[3]p[4]>…… <p[n-1]p[n]>,
则多边形的三角划分和这个序列的全括号化存在着一一对应的关系。
以五边形为例:
选定多边形的一条边 <p[1]p[n]>为基边,无论怎样分区域,基边总能在分成的三角形区域中的一个中。
该三角形区域又将凸多边形区域分成三个部分
令函数f(n)来表示n+1个顶点的多边形划分出的小三角数量,并规定f(1)=1,
根据划分点的选取过程可以看出,递推关系满足下列式子
f(n)=f(1)*f(n-1)+f(2)*f(n-2)+……+f(n-1)*f(1),这里n>=2
用递归的法子模拟上述过程,就能够输出全部的划分。