Я пытаюсь найти точки на равном расстоянии между двумя другими точками в трехмерном пространстве. Например, у меня в сцене 2 куба. Я хочу добавить 5 (или 3, или 80...) локаторов на равном расстоянии между этими двумя сферами с помощью Pymel.
Я могу легко найти среднюю точку между сферами, например:
import pymel.core as pm
import pymel.core.datatypes as dt
pos_1, pos_2 = pm.selected()
point_1 = dt.Vector(pos_1.getTranslation())
point_2 = dt.Vector(pos_2.getTranslation())
midway_point = (point_1 + point_2) / 2
Однако я не могу понять, как получить несколько точек на линии между двумя сферами.
Я пробовал что-то вроде этого:
import pymel.core as pm
import pymel.core.datatypes as dt
pos_1, pos_2 = pm.selected()
point_1 = dt.Vector(pos_1.getTranslation())
point_2 = dt.Vector(pos_2.getTranslation())
distance = point_1.distanceTo(point_2)
divided_distance = distance / 5
for i in range (1, 5):
position = point_1 + (divided_distance * i)
pm.spaceLocator(position = position, absolute = True)
Что добавляет 5 локаторов между двумя сферами, но они не находятся на линии, соединяющей две точки в трехмерном пространстве.
Может кто-то указать мне верное направление?