結論から申し上げますと
やっぱりAIは凄いな…という、お話です。
3DCG系のDCCツールを使用していると、
どうしてもオブジェクト同士の距離を求めるツールが必要な場面が出て来ますよね。
まあ↓この公式に当てはめれば三次元における2点間の距離出るのですけど、
√(xA−xB)^2+(yA−yB)^2+(zA−zB)^2
問題は…
これを、どうやってPythonで表してやればいいのか
さっぱり見当が付かないとういうところですね。
そもそも、ルート計算はどう表せば良いか解りませんし、
べき乗の計算も「^」をPythonは受け付けない様で、一体どうすれば良いのか
途方に暮れていた訳ですが…
ただ、これをChatGPTに聞いてみたら
一発で答えが出てしまいました!すごい!
Pythonでは
↓*を二つ重ねる事でべき乗計算を表して、
(xA-xB)**2
↓0.5でべき乗計算する事でルートを表すみたいです。
** 0.5
・・・なるほど!
という訳で、
Mayaで指定した二つのオブジェクトの距離を求めるスクリプトを書いてみました。
"locator1", "locator2" の名前を、
任意のオブジェクトの名前に変える事で距離を測る事が出来ます。
やっぱりAIは凄いな…という、お話です。
3DCG系のDCCツールを使用していると、
どうしてもオブジェクト同士の距離を求めるツールが必要な場面が出て来ますよね。
まあ↓この公式に当てはめれば三次元における2点間の距離出るのですけど、
√(xA−xB)^2+(yA−yB)^2+(zA−zB)^2
問題は…
これを、どうやってPythonで表してやればいいのか
さっぱり見当が付かないとういうところですね。
そもそも、ルート計算はどう表せば良いか解りませんし、
べき乗の計算も「^」をPythonは受け付けない様で、一体どうすれば良いのか
途方に暮れていた訳ですが…
ただ、これをChatGPTに聞いてみたら
一発で答えが出てしまいました!すごい!
Pythonでは
↓*を二つ重ねる事でべき乗計算を表して、
(xA-xB)**2
↓0.5でべき乗計算する事でルートを表すみたいです。
** 0.5
・・・なるほど!
という訳で、
Mayaで指定した二つのオブジェクトの距離を求めるスクリプトを書いてみました。
#三次元における2点AB間の距離を求める def fFindDistance( vStart, vEnd ): lAp = cmds.xform(vStart,worldSpace=True,translation=True,q=True) lBp = cmds.xform(vEnd,worldSpace=True,translation=True,q=True) oDistance = (lAp[0]-lBp[0])**2+(lAp[1]-lBp[1])**2+(lAp[2]-lBp[2])**2 return oDistance ** 0.5 fFindDistance( "locator1", "locator2" )
"locator1", "locator2" の名前を、
任意のオブジェクトの名前に変える事で距離を測る事が出来ます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます