【3D】基于laya的ts语言实现凸多边形三角化

版权声明:本文为博主原创文章,如需转载请注明出处,谢谢。喜欢请关注哟~ 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;
    }

猜你喜欢

转载自blog.csdn.net/sjt223857130/article/details/88022304