Generar caras de malla para vértices en THREE.js

No estoy seguro de si la respuesta se supone que es cegadora pero se me escapa. Estoy haciendo la clase de Gráficos 3D en Udacity que usa three.js. Estoy en un punto en el que debo generar una malla 3d.

Tengo los vértices todos generándose correctamente, pero estoy atascado en generar caras para ellos. No puedo pensar en una forma obvia de generar automáticamente caras que no se superpongan. He buscado y buscado en la web, pero no puedo encontrar ninguna información al respecto. No estoy seguro de si es algo estúpidamente obvio o simplemente no está muy documentado. Aquí está el código:

function PolygonGeometry(sides) {
    var geo = new THREE.Geometry();

    // generate vertices
    for ( var pt = 0 ; pt < sides; pt++ )
    {
        // Add 90 degrees so we start at +Y axis, rotate counterclockwise around
        var angle = (Math.PI/2) + (pt / sides) * 2 * Math.PI;

        var x = Math.cos( angle );
        var y = Math.sin( angle );

        // YOUR CODE HERE
        //Save the vertex location - fill in the code
        geo.vertices.push( new THREE.Vector3(x, y, 0) );
    }
    // YOUR CODE HERE
    // Write the code to generate minimum number of faces for the polygon.


    // Return the geometry object
    return geo;
}

Sé que la fórmula básica para el número mínimo de caras es n-2. Pero no puedo pensar en una manera de hacer esto sin que las caras se superpongan.No quiero que nadie haga mi trabajo por mí, quiero averiguarlo todo lo que pueda. Pero, ¿hay alguien que pueda orientarme en la dirección correcta o darme una fórmula o algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta