def make(v1, v2, v3)
      face = Face3.new(v1.index, v2.index, v3.index, [v1.clone, v2.clone, v3.clone])
      @faces << face

      @centroid.copy(v1).add(v2).add(v3).divide_scalar(3)

      azi = azimuth(@centroid)

      @face_vertex_uvs[0] << [
        correct_uv(v1.uv, v1, azi),
        correct_uv(v2.uv, v2, azi),
        correct_uv(v3.uv, v3, azi)
      ]
    end
def make(v1, v2, v3)
      face = Face3.new(v1.index, v2.index, v3.index, [v1.clone, v2.clone, v3.clone])
      @faces << face

      @centroid.copy(v1).add(v2).add(v3).divide_scalar(3)

      azi = azimuth(@centroid)

      @face_vertex_uvs[0] << [
        correct_uv(v1.uv, v1, azi),
        correct_uv(v2.uv, v2, azi),
        correct_uv(v3.uv, v3, azi)
      ]
    end
Approximate a curved face with recursively sub-divided triangles.