Duplicate points Three.js

Duplicate points Three.js

本文关键字:js Three points Duplicate      更新时间:2023-09-26

我正在创建一条线并添加到场景中,并且显示得很好。

但是当我尝试创建一个网格(使用相同的坐标,我形成的线),我得到错误,没有重复的点。

"警告,无法对多边形进行三角测量! "重复点653.4789181355854:204.0166729191409要么无穷,要么无穷!它的有限解。要么无穷,要么无穷!太糟糕了,没有解决方案。"

这一切的奇怪之处在于坐标超过4000个点,我确信没有一个是重复的。(我甚至在excel中检查过,只是重复了开始和结束的坐标,我理解是相同的)。我能做什么?没有办法,从点的线可以创建网格没有我这些错误出现?或者我应该遵循哪些其他步骤?

for(var x in features.features){
     materialLinea[x] = new THREE.LineBasicMaterial( { color: "#FFFFFF"} ); 
      array_extrude[x]=new Array();
     material[x] = new THREE.MeshBasicMaterial({
                    color: "#FF0000"
                }); 
     geometria[x] = new THREE.Geometry();
    for(var s in features.features[x].geometry.coordinates[0]){
        geometria[x].vertices.push(new THREE.Vector3(features.features[x].geometry.coordinates[0][s][0],features.features[x].geometry.coordinates[0][s][1],0))
        array_extrude[x].push(new THREE.Vector3(features.features[x].geometry.coordinates[0][s][0],features.features[x].geometry.coordinates[0][s][1],0));
    }
    line[x] = new THREE.Line( geometria[x], materialLinea[x])
    scene.add(line[x])

    object3d[x] = new THREE.Shape( array_extrude[x] );
    var extrusionSettings = {bevelEnabled: false,amount:10, };
    figuraExtrude[x] = new THREE.ExtrudeGeometry( object3d[x],   extrusionSettings );
    municipios[x] = new THREE.Mesh( figuraExtrude[x], material[x] );
    scene.add(municipios[x]);
}

可以合并几何图形上的顶点Geometry.mergeVertices ()