Triangulación de puntos 3D con K vértices por cara

Estoy trabajando con Three.js. Tengo una colección dePuntos 3D (x, y, z) y una colección de caras. Una cara está compuesta dePuntos K. Puede ser tan convexo como cóncavo. No encontré nada que pudiera ayudarme en la documentación de Three.js. Una solución podría ser triangular esas formas, pero hasta ahora no he encontrado ningún algoritmo de triangulación 3D simple.

La otra solución sería hacer algo así:

var pointsGeometry = new THREE.Geometry();

pointsGeometry.vertices.push(new THREE.Vector3(10, 0, 0));
pointsGeometry.vertices.push(new THREE.Vector3(10, 10, 0));
pointsGeometry.vertices.push(new THREE.Vector3(0, 10, 0));
pointsGeometry.vertices.push(new THREE.Vector3(1, 3, 0));
pointsGeometry.vertices.push(new THREE.Vector3(-1, 3, 0));
pointsGeometry.vertices.push(new THREE.Vector3(10, 0, 0));

var material = new THREE.MeshBasicMaterial({color: 0x00ff00});

var mesh = new THREE.Shape/ShapeGeometry/Something(pointsGeometry, material);
group.add(mesh);

scene.add(group);

Tengo muchas de estas formas que construyen juntas una superficie cerrada.

¿Cualquier sugerencia?

Gracias por su atención. Que tengas un buen día.

Respuestas a la pregunta(2)

Su respuesta a la pregunta