如何从poly2tri得到三角形的索引

时间:2016-05-11 09:22:53

标签: three.js mesh triangulation

我将基于我创建的三角形库 poly2tri 创建的三角形为我的网格几何创建面 我只有一个逆时针方向的简单多边形。 此外,我没有洞和steiner点只有一个轮廓!

 var swctx = new poly2tri.SweepContext(contour);
         swctx.triangulate();
         var triangles = swctx.getTriangles();

         triangles.forEach(function(t) {
                 t.getPoints().forEach(function (p) {
                     console.log(p.x, p.y);
                 })
         })

这已经有效了。 结果: triangles

但下一步将是为我的Mesh.geometry创建面。要创建Face3几何体,我需要顶点的索引。

这样的事情:

for (var i = 0; i < triangles.length; i++) {
             geometry.faces.push(new THREE.Face3(triangles[i][0],triangles[i][1],triangles[i][2]));
         }

如何从三角形中获取指数?

1 个答案:

答案 0 :(得分:1)

我相信你正在寻找getPoint()。基于上面代码示例的设置:

var triangles = swctx.getTriangles();
for ( var i = 0; i < triangles.length; i++ ) {
    console.log(triangles[i].getPoint(0).x + ", " + triangles[i].getPoint(0).y);
    console.log(triangles[i].getPoint(1).x + ", " + triangles[i].getPoint(1).y);
    console.log(triangles[i].getPoint(2).x + ", " + triangles[i].getPoint(2).y);
}