我试图在 3D 空间中的其他 2 个点之间找到相等距离的点。例如,我的场景中有 2 个立方体。我想用 Pymel 在这两个球体之间的相等距离处添加 5 个(或 3 个或 80 个......)定位器。
我可以很容易地找到球体之间的中间点,如下所示:
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 空间中的两个点的线上。
谁能指出我正确的方向?