Перевод 3D-точки - PullRequest
       13

Перевод 3D-точки

0 голосов
/ 26 сентября 2019

У меня есть линия в трехмерном пространстве, скажем, A (x1, y1, z1) и B (x2, y2, z2).Я хочу найти новую точку между линией AB, начиная с A @ distance 5. Как я могу это сделать.

Что касается моей задачи, у меня есть линия, отображаемая в браузере с использованием Threejs, и я должен вычислить точки междулиния с некоторыми интервалами.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2019

просто добавьте 5-кратный вектор направления линии к начальной точке:

C =  A + 5*(B-A)/|B-A|
2 голосов
/ 26 сентября 2019

Вычтите начальный вектор из конечного вектора, установите длину вектора результата, добавьте начальный вектор.

var A = new THREE.Vector3( your_coord_values ); // start
var B = new THREE.Vector3( your_coord_values ); // end

var C = new THREE.Vector3().subVectors(B, A).setLength(5).add(A);
...