任意多边形切分成三角形的算法和代码!C语言或者Java谢谢

2025-04-23 23:21:37
推荐回答(1个)
回答1:

需要输出图片吗?
如果不的话,那就容易了。
把多边形的所有点读入,然后依次连接点1与点3,点1与点4,点1与点5····点1与点n—1,就可以了。
要是需要输出图片的话,好像就比软费劲了,单是写画出多边形就很费劲。而且C语言做图形很不方便。
typedef struct {
int x,y;//点座标
}point;
typedef struct {
point pt[3];
}trigon;
typedef struct{
int edge;// 边数。
point pt[100];//不够可以加。用二存放多边形的点。
}polygon;
int cut(polygon* poly,trigon tri[])
{int n,num=0;
for(n=2;nedge;n++)
{ tri[num].pt[0]=poly->pt[0];
tri[num].pt[1]=poly->pt[n-1];
tri[num++].pt[2]=poly->pt[n];
}
return num;//返回三角形的个数。
}