Допустим, у меня есть этот треугольник (темно-синий), и я знаю, что это вершины (красный): (1,3,0) (0,4,0) (-1,3,0)
Теперь я хочу создать новые точки (желтые) над их вершинами, но параллельно треугольнику. В этом случае это просто: просто добавьте значение y, и вы его получите.

Но что, если треугольник не направлен вверх? например: (1,3,0) (0,4,1) (-1,3,0)

Я получил его-Вектор (зеленая линия), и я думаю, что я должен использовать его для создания этих параллельных точек, но я не знаю, как ... Я ищу способ сделать это для нескольких треугольников программно, которые расположены во всех видахпути. Есть идеи?
@ Бен Уитмор
var v1 = new THREE.Vector3(0,4,1);
var v2 = new THREE.Vector3(1,3,0);
var v3 = new THREE.Vector3(-1,3,0);
var c = new THREE.Vector3( );
c.crossVectors( v2, v3 ) // { x: 0, y: -0, z: 6 }
c.normalize() // { x: 0, y: -0, z: 1 }
sphere.position.set( ??? );`