class cymel.core.datatypes.eulerrotation.EulerRotation¶
- class cymel.core.datatypes.eulerrotation.EulerRotation(*args)¶
ベースクラス:
object
オイラー角回転クラス。
x, y, z, order=XYZ
3値のシーケンス, order=XYZ
Methods:
Returns a new
EulerRotation
with a different rotation which is equivalent to this one and has the same rotation order.asD
()asDegrees
の別名。X, Y, Z を度数法の
list
として得る。asM
()asMatrix
の別名。asMatrix
()回転行列として得る。
asQ
()asQuaternion
の別名。クォータニオンとして得る。
トランスフォーメーションとして得る。
asV
()asVector
の別名。asVector
()X, Y, Z をそのままセットした3次元ベクトルを得る。
asX
()asTransformation
の別名。bound
()回転結果を維持しつつ、各軸の角度を±πの範囲におさめた値を得る。
boundIt
([src])回転結果を維持しつつ、各軸の角度を±πの範囲におさめた値をセットする。
closestCut
(dst)Returns a new
EulerRotation
containing the rotation which is full spin multiples of this one and comes closest to target.closestSolution
(dst)Returns a new
EulerRotation
containing the rotation equivalent to this one which comes closest to target.Returns a rotation equivalent to rot which is not simply a multiple of it.
computeBound
(src)Returns a rotation equivalent to rot but bound within +/- PI.
computeClosestCut
(src, dst)Returns the rotation which is full spin multiples of src and comes closest to target.
computeClosestSolution
(src, dst)Returns the rotation equivalent to src which comes closest to target.
decompose
(m, order)Extracts from matrix a valid rotation having the specified rotation order.
incrementalRotateBy
(axis, angle)Perform an incremental rotation by the specified axis and angle.
inverse
()逆回転を得る。
invertIt
()逆回転をセットする。
isEquivalent
(v[, tol])ほぼ同値かどうか。
isGimbalLocked
([tol])ジンバルロック状態かどうかを得る。
isZero
([tol])ほぼゼロかどうか。
makeYawPitch
(vec[, order])球面上のベクトルからヨーとピッチの2軸回転を得る。
orderStr
()回転オーダーを文字列で得る。
reorder
(order)回転結果を維持しつつ、オーダーを変更した値を得る。
reorderIt
(order)回転結果を維持しつつ、オーダーを変更した値をセットする。
同じ姿勢の逆周り回転を得る。
set
(*args)他の値をセットする。
setToClosestCut
(srcOrDst[, dst])setToClosestSolution
(srcOrDst[, dst])同じ姿勢の逆周り回転をセットする。
setValue
(*args)他の値をセットする。
Attributes:
- AXES_TO_ORDER = {(0, 1, 2): 0, (0, 2, 1): 3, (1, 0, 2): 4, (1, 2, 0): 1, (2, 0, 1): 2, (2, 1, 0): 5}¶
- ORDER_TO_AXES = ((0, 1, 2), (1, 2, 0), (2, 0, 1), (0, 2, 1), (1, 0, 2), (2, 1, 0))¶
- ORDER_TO_STR = ('XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX')¶
- REVERSE_ORDER = (5, 3, 4, 1, 2, 0)¶
- STR_TO_ORDER = {'XYZ': 0, 'XZY': 3, 'YXZ': 4, 'YZX': 1, 'ZXY': 2, 'ZYX': 5}¶
- Tolerance = 1e-10¶
- Zero = ImmutableEulerRotation(0, 0, 0, XYZ)¶
Methods Details:
- alternateSolution()¶
Returns a new
EulerRotation
with a different rotation which is equivalent to this one and has the same rotation order. Each rotation component will lie within +/- PI.
- asQ()¶
asQuaternion
の別名。
- asQuaternion()¶
クォータニオンとして得る。
- 戻り値の型:
- asTransformation()¶
トランスフォーメーションとして得る。
- 戻り値の型:
- asX()¶
asTransformation
の別名。
- bound()¶
回転結果を維持しつつ、各軸の角度を±πの範囲におさめた値を得る。
- 戻り値の型:
- boundIt(src=None)¶
回転結果を維持しつつ、各軸の角度を±πの範囲におさめた値をセットする。
- パラメータ:
src (
EulerRotation
) -- ソース回転。省略時は現在の回転。- 戻り値の型:
EulerRotation
(self)
- closestCut(dst)¶
Returns a new
EulerRotation
containing the rotation which is full spin multiples of this one and comes closest to target.
- closestSolution(dst)¶
Returns a new
EulerRotation
containing the rotation equivalent to this one which comes closest to target.
- static computeAlternateSolution(src)¶
Returns a rotation equivalent to rot which is not simply a multiple of it.
- static computeBound(src)¶
Returns a rotation equivalent to rot but bound within +/- PI.
- static computeClosestCut(src, dst)¶
Returns the rotation which is full spin multiples of src and comes closest to target.
- static computeClosestSolution(src, dst)¶
Returns the rotation equivalent to src which comes closest to target.
- static decompose(m, order)¶
Extracts from matrix a valid rotation having the specified rotation order. Note that this may be just one of several different rotations which could each give rise to the same matrix.
- incrementalRotateBy(axis, angle)¶
Perform an incremental rotation by the specified axis and angle. The rotation is broken down and performed in smaller steps so that the angles update properly.
- inverse()¶
逆回転を得る。
- 戻り値の型:
- invertIt()¶
逆回転をセットする。
- 戻り値の型:
EulerRotation
(self)
- isEquivalent(v, tol=1e-10)¶
ほぼ同値かどうか。
- パラメータ:
v (
EulerRotation
) -- 比較する値。tol (float) -- 許容誤差。
- 戻り値の型:
- isGimbalLocked(tol=1e-10)¶
ジンバルロック状態かどうかを得る。
ピッチ回転が±π/2の状態 (ロール軸とヨー軸が重なった状態) をジンバルロックとする。
- classmethod makeYawPitch(vec, order=0)¶
球面上のベクトルからヨーとピッチの2軸回転を得る。
基準軸を指定方向へ向けるヨー、ピッチの回転が得られる。
回転オーダーは、そのまま 初期方向を表す基準軸、ピッチ回転軸、ヨー回転軸 を表す。
- パラメータ:
- 戻り値の型:
- reorderIt(order)¶
回転結果を維持しつつ、オーダーを変更した値をセットする。
- パラメータ:
order (int) -- 回転オーダー。
- 戻り値の型:
EulerRotation
(self)
- reverseDirection()¶
同じ姿勢の逆周り回転を得る。
asQuaternion
で得られるクォータニオンが反転する。- 戻り値の型:
- set(*args)¶
他の値をセットする。
コンストラクタと同様に、以下の値を指定可能。
x, y, z, order=XYZ
3値のシーケンス, order=XYZ
Quaternion
(現状のorder維持)Matrix
(現状のorder維持)
- 戻り値の型:
EulerRotation
(self)
- setToAlternateSolution(src)¶
- setToClosestCut(srcOrDst, dst=None)¶
- setToClosestSolution(srcOrDst, dst=None)¶
- setToReverseDirection()¶
同じ姿勢の逆周り回転をセットする。
asQuaternion
で得られるクォータニオンが反転する。- 戻り値の型:
EulerRotation
(self)
- setValue(*args)¶
他の値をセットする。
コンストラクタと同様に、以下の値を指定可能。
x, y, z, order=XYZ
3値のシーケンス, order=XYZ
Quaternion
(現状のorder維持)Matrix
(現状のorder維持)
- 戻り値の型:
EulerRotation
(self)