[Pythhon] 두 각도와 거리에 따라 좌표를 구한다.
5311 단어 PythonMotionbuilder
개요
친자 관계의 대상 중
부모 객체가 회전하는 동안 자식 객체가 이동하는 방법 등을 사용할 수 있습니다.
참조 코드
운영 환경: Motionbuilder 2015
MB로 널로 공 처리를 해보세요.
본 문제의 처리는 getPosition()
내용에만 한정된다.
※ MB를 모르는 사람에게FB○○
는 MB 전용입니다.
자신이 사용하고 싶은 소프트웨어와 언어에 따라 변경하세요.# -*- coding: utf-8 -*-
from pyfbsdk import *
import math
# 角度2つと距離から座標を求めるメソッド
def getPosition(_angle1, _angle2, _radius):
x = _radius * math.sin(math.radians(_angle1)) * math.cos(math.radians(_angle2));
y = _radius * math.sin(math.radians(_angle1)) * math.sin(math.radians(_angle2));
z = _radius * math.cos(math.radians(_angle1));
return FBVector3d(x, y, z);
# このfor内を使いたいソフト用に変更してあげれば何でも球体を描いてくれる
## angle1,angle2 に入る値を調整すれば半円を描いたりもできる
## rangeの第3引数のstepを1(もしくは指定なし)で実行すると重たいので注意
parentPos = FBVector3d(50, 50, 50)
for angle1 in range(0, 360, 3):
for angle2 in range(0, 180, 3):
mdlNull = FBModelNull("Null_{0}_{1}".format(str(angle1), str(angle2)))
mdlNull.Show = True
mdlNull.Scaling = FBVector3d(1, 1, 1)
mdlNull.Translation = parentPos + getPosition(angle1, angle2, 100.0)
실행하면 이런 느낌이 든다.
(이것은 1로 만든 range()의 step!)
Reference
이 문제에 관하여([Pythhon] 두 각도와 거리에 따라 좌표를 구한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kanata/items/6ac074a433eca170b532
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
운영 환경: Motionbuilder 2015
MB로 널로 공 처리를 해보세요.
본 문제의 처리는
getPosition()
내용에만 한정된다.※ MB를 모르는 사람에게
FB○○
는 MB 전용입니다.자신이 사용하고 싶은 소프트웨어와 언어에 따라 변경하세요.
# -*- coding: utf-8 -*-
from pyfbsdk import *
import math
# 角度2つと距離から座標を求めるメソッド
def getPosition(_angle1, _angle2, _radius):
x = _radius * math.sin(math.radians(_angle1)) * math.cos(math.radians(_angle2));
y = _radius * math.sin(math.radians(_angle1)) * math.sin(math.radians(_angle2));
z = _radius * math.cos(math.radians(_angle1));
return FBVector3d(x, y, z);
# このfor内を使いたいソフト用に変更してあげれば何でも球体を描いてくれる
## angle1,angle2 に入る値を調整すれば半円を描いたりもできる
## rangeの第3引数のstepを1(もしくは指定なし)で実行すると重たいので注意
parentPos = FBVector3d(50, 50, 50)
for angle1 in range(0, 360, 3):
for angle2 in range(0, 180, 3):
mdlNull = FBModelNull("Null_{0}_{1}".format(str(angle1), str(angle2)))
mdlNull.Show = True
mdlNull.Scaling = FBVector3d(1, 1, 1)
mdlNull.Translation = parentPos + getPosition(angle1, angle2, 100.0)
실행하면 이런 느낌이 든다.(이것은 1로 만든 range()의 step!)
Reference
이 문제에 관하여([Pythhon] 두 각도와 거리에 따라 좌표를 구한다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kanata/items/6ac074a433eca170b532텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)