版权声明:本文为博主原创文章,如需转载请注明出处,谢谢。喜欢请关注哟~ https://blog.csdn.net/sjt223857130/article/details/88022304
public static Triangulation(points: Laya.Vector2[], reverse: boolean): number[] {
var indices: number[] = [];
//三角形的数量等于顶点数减2
var numberOfTriangles = points.length - 2;
//triangles数组大小等于三角形数量乘3
//f记录前半部分遍历位置,b记录后半部分遍历位置 即0-7
var f = 0, b = points.length - 1;
for (var i = 1; i <= numberOfTriangles; i++) {
//numberOfTriangles次
if (i % 2 == 1) {
indices[3 * i - 3] = f++;
indices[3 * i - 2] = f;
indices[3 * i - 1] = b;//正向赋值,对于i=1赋值为:0,1,2
}
else {
indices[3 * i - 1] = b--;
indices[3 * i - 2] = b;
indices[3 * i - 3] = f;//逆向赋值,对于i=2赋值为:1,5,6
}
}
return indices;
}