Я пытаюсь найти точки на равном расстоянии между двумя другими точками в 3D-пространстве. Например, у меня есть 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 локаторы между двумя сферами, но они не на линии, соединяющей две точки в 3D-пространстве.
Может ли кто-нибудь указать мне правильное направление?
ARGH ... ты absolutey прав. Иногда мне кажется, что я полностью понимаю концепцию векторной математики, а потом что-то вроде этого появляется :) –