1

3D 空間内の他の 2 つの点の間で等距離にある点を見つけようとしています。たとえば、シーンに 2 つの立方体があります。Pymel を使用して、これら 2 つの球の間に等距離に 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

ただし、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)

これにより、2 つの球の間に 5 つのロケータが追加されますが、それらは 3D 空間の 2 つの点を結ぶ線上にはありません。

誰かが私を正しい方向に向けることができますか?

4

1 に答える 1