class cymel.core.datatypes.eulerrotation.EulerRotation

Inheritance diagram of EulerRotation
class cymel.core.datatypes.eulerrotation.EulerRotation(*args)

ベースクラス: object

オイラー角回転クラス。

Methods:

alternateSolution()

Returns a new EulerRotation with a different rotation which is equivalent to this one and has the same rotation order.

asD()

asDegrees の別名。

asDegrees()

X, Y, Z を度数法の list として得る。

asM()

asMatrix の別名。

asMatrix()

回転行列として得る。

asQ()

asQuaternion の別名。

asQuaternion()

クォータニオンとして得る。

asTransformation()

トランスフォーメーションとして得る。

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.

computeAlternateSolution(src)

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)

回転結果を維持しつつ、オーダーを変更した値をセットする。

reverseDirection()

同じ姿勢の逆周り回転を得る。

set(*args)

他の値をセットする。

setToAlternateSolution(src)

setToClosestCut(srcOrDst[, dst])

setToClosestSolution(srcOrDst[, dst])

setToReverseDirection()

同じ姿勢の逆周り回転をセットする。

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.

asD()

asDegrees の別名。

asDegrees()

X, Y, Z を度数法の list として得る。

戻り値の型:

list

asM()

asMatrix の別名。

asMatrix()

回転行列として得る。

戻り値の型:

Matrix

asQ()

asQuaternion の別名。

asQuaternion()

クォータニオンとして得る。

戻り値の型:

Quaternion

asTransformation()

トランスフォーメーションとして得る。

戻り値の型:

Transformation

asV()

asVector の別名。

asVector()

X, Y, Z をそのままセットした3次元ベクトルを得る。

戻り値の型:

Vector

asX()

asTransformation の別名。

bound()

回転結果を維持しつつ、各軸の角度を±πの範囲におさめた値を得る。

戻り値の型:

EulerRotation

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()

逆回転を得る。

戻り値の型:

EulerRotation

invertIt()

逆回転をセットする。

戻り値の型:

EulerRotation (self)

isEquivalent(v, tol=1e-10)

ほぼ同値かどうか。

パラメータ:
戻り値の型:

bool

isGimbalLocked(tol=1e-10)

ジンバルロック状態かどうかを得る。

ピッチ回転が±π/2の状態 (ロール軸とヨー軸が重なった状態) をジンバルロックとする。

パラメータ:

tolerance (float) -- 許容誤差。

戻り値の型:

bool

isZero(tol=1e-10)

ほぼゼロかどうか。

パラメータ:

tol (float) -- 許容誤差。

戻り値の型:

bool

classmethod makeYawPitch(vec, order=0)

球面上のベクトルからヨーとピッチの2軸回転を得る。

基準軸を指定方向へ向けるヨー、ピッチの回転が得られる。

回転オーダーは、そのまま 初期方向を表す基準軸、ピッチ回転軸、ヨー回転軸 を表す。

パラメータ:
  • vec (Vector) -- 球面上の位置を表す単位ベクトル。

  • order (int) -- 回転オーダー。

戻り値の型:

EulerRotation

orderStr()

回転オーダーを文字列で得る。

戻り値の型:

str

reorder(order)

回転結果を維持しつつ、オーダーを変更した値を得る。

パラメータ:

order (int) -- 回転オーダー。

戻り値の型:

EulerRotation

reorderIt(order)

回転結果を維持しつつ、オーダーを変更した値をセットする。

パラメータ:

order (int) -- 回転オーダー。

戻り値の型:

EulerRotation (self)

reverseDirection()

同じ姿勢の逆周り回転を得る。

asQuaternion で得られるクォータニオンが反転する。

戻り値の型:

EulerRotation

set(*args)

他の値をセットする。

コンストラクタと同様に、以下の値を指定可能。

戻り値の型:

EulerRotation (self)

setToAlternateSolution(src)
setToClosestCut(srcOrDst, dst=None)
setToClosestSolution(srcOrDst, dst=None)
setToReverseDirection()

同じ姿勢の逆周り回転をセットする。

asQuaternion で得られるクォータニオンが反転する。

戻り値の型:

EulerRotation (self)

setValue(*args)

他の値をセットする。

コンストラクタと同様に、以下の値を指定可能。

戻り値の型:

EulerRotation (self)