class cymel.core.datatypes.matrix.Matrix¶

- class cymel.core.datatypes.matrix.Matrix(*args, **kwargs)¶
ベースクラス:
object4x4 マトリックスクラス。
コンストラクタでは以下の値を指定可能。
16値のシーケンス
3つの
Vectorによる 3x3 部分の行ベクトル指定。追加で4つめの
Vectorで translate 値の指定。transpose=True オプションの指定で 3x3 部分の転置。
Methods:
addT(v)addTranslationの別名。平行移動値を加算する。
adj()adjugateの別名。adjoint()adjugateの別名。adjugateItの別名。adjugate()余因子行列を得る。
余因子行列をセットする。
as3x3()3x3部分以外を初期化した行列を得る。
asD([order])asDegreesの別名。asDegrees([order])オイラー角回転を度数法の
listとして得る。asE([order])asEulerRotationの別名。asEulerRotation([order])オイラー角回転を得る。
asQ()asQuaternionの別名。クォータニオンを得る。
asRM()asRotationMatrixの別名。回転のみの行列を得る。
asS()asScalingの別名。asSM()asScalingMatrixの別名。スケーリング成分を得る。
スケーリング成分(scale+shear)のみの行列を得る。
asSh()asShearingの別名。シアー成分を得る。
asT()asTranslationの別名。asTM()asTranslationMatrixの別名。トランスフォーメーションとして得る。
平行移動成分を得る。
平行移動のみの行列を得る。
3x3部分は転置、それ以外の部分は初期化した行列を得る。
asX()asTransformationの別名。axes([transpose])3x3部分の行や列の軸ベクトルを3つ得る。
axis(i[, transpose])3x3部分の行や列を軸ベクトルとして得る。
cofactor(i, j)指定位置の余因子を得る。
col(i)columnの別名。cols()columnsの別名。column(i)列ベクトルを得る。
columns()列ベクトルを4つ全て得る。
det()行列式を得る。
det2()2x2部分の行列式を得る。
det2x2()det2の別名。det3()3x3部分の行列式を得る。
det3x3()det3の別名。det4()detの別名。det4x4()detの別名。detの別名。det2の別名。det3の別名。div(m[, pre])マトリックス要素同士を除算する。
getElem(row, col)指定位置の要素を得る。
hasNonUniformScaling([tol])非一様スケーリングが含まれているかどうか。
3x3部分を正規直交化した行列を得る。
3x3部分を正規直交化した行列をセットする。
idiv(m[, pre])各要素同士を除算し自身を更新する。
imul(m)マトリックス要素同士を乗算してセットする。
init3x3()3x3 部分を初期化する。
initT()initTranslationの別名。4行目の平行移動成分をクリアする。
inverse()逆行列を得る。
invertIt()逆行列をセットする。
isEquivalent(m[, tol])ほぼ同値かどうか。
isIdentity([tol])ほぼ単位行列かどうか。
特異行列かどうか。
makeInvS(v[, pre])makeInverseScalingの別名。makeInvSh(v)makeInverseShearingの別名。makeInvT(v)makeInverseScaling(v[, pre])スケーリングの逆行列を作成する。
シアーの逆行列を作成する。
平行移動の逆行列を作成する。
makeR(v[, order])makeRotationの別名。makeRotation(v[, order])オイラー角回転から回転行列を作成する。
makeS(v)makeScalingの別名。makeScaling(v)スケーリング行列を作成する。
makeSh(v)makeShearingの別名。makeShearing(v)シアー行列を作成する。
makeT(v)makeTranslationの別名。平行移動行列を作成する。
mirror([mirrorAxis, negAxis, t])指定軸方向でミラーしたマトリックスを得る。
mirrorIt([mirrorAxis, negAxis, t])指定軸方向でミラーしたマトリックスをセットする。
mul(m)マトリックス要素同士を乗算する。
3x3部分を正規直交化した行列を得る。
3x3部分を正規直交化した行列をセットする。
row(i)行ベクトルを得る。
rows()行ベクトルを4つ全て得る。
set(v)他の値をセットする。
setAxes(vx, vy, vz[, vt, transpose])3x3部分の行や列と4行目の平行移動ベクトルをセットする。
setAxis(i, v[, transpose])3x3部分の行や列のベクトルをセットする。
setColumn(i, v)列ベクトルをセットする。
setColumns(v0, v1, v2, v3)列ベクトルを4つ全てセットする。
setElem(row, col, val)指定位置の要素をセットする。
setRow(i, v)行ベクトルをセットする。
setRows(v0, v1, v2, v3)行ベクトルを4つ全てセットする。
setT(v)setTranslationの別名。単位行列をセットする。
平行移動値をセットする。
subT(v)subTranslationの別名。平行移動値を減算する。
転置行列を得る。
転置行列をセットする。
Attributes:
- Identity = ImmutableMatrix(((1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)))¶
- Tolerance = 1e-10¶
- Zero = ImmutableMatrix(((0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0), (0, 0, 0, 0)))¶
Methods Details:
- addT(v)¶
addTranslationの別名。
- adjointIt()¶
adjugateItの別名。
- asDegrees(order=0)¶
オイラー角回転を度数法の
listとして得る。注釈
単位を弧度法で得たい場合は
asEulerRotationを使用すると良い。
- asE(order=0)¶
asEulerRotationの別名。
- asEulerRotation(order=0)¶
オイラー角回転を得る。
- パラメータ:
order (int) -- 得たい回転オーダー。
- 戻り値の型:
注釈
EulerRotationの単位は弧度法なので、 度数法で得たい場合はasDegreesを使用すると良い。
- asQ()¶
asQuaternionの別名。
- asQuaternion()¶
クォータニオンを得る。
- 戻り値の型:
- asRM()¶
asRotationMatrixの別名。
- asSM()¶
asScalingMatrixの別名。
- asSh()¶
asShearingの別名。
- asT()¶
asTranslationの別名。
- asTM()¶
asTranslationMatrixの別名。
- asTransformation()¶
トランスフォーメーションとして得る。
- 戻り値の型:
- asX()¶
asTransformationの別名。
- div(m, pre=1e-13)¶
マトリックス要素同士を除算する。
ゼロ除算を避ける為、分母が
avoidZeroDivでフィルタされてから実行される。
- getElem(row, col)¶
指定位置の要素を得る。
- idiv(m, pre=1e-13)¶
各要素同士を除算し自身を更新する。
ゼロ除算を避ける為、分母が
avoidZeroDivでフィルタされてから実行される。- パラメータ:
v (iterable) -- 要素数16個以上のシーケンス。
pre (float) -- ゼロ除算を避ける為の許容誤差。
- init3x3()¶
3x3 部分を初期化する。
4x4 全て初期化する場合は
setToIdentityが利用できる。平行移動成分のみの行列を新規に得たい場合は
asTranslationMatrixが利用できる。- 戻り値の型:
Matrix(self)
- initT()¶
initTranslationの別名。
- isEquivalent(m, tol=1e-10)¶
ほぼ同値かどうか。
- classmethod makeInvS(v, pre=1e-13)¶
makeInverseScalingの別名。
- classmethod makeInvSh(v)¶
makeInverseShearingの別名。
- classmethod makeInvT(v)¶
- classmethod makeInverseScaling(v, pre=1e-13)¶
スケーリングの逆行列を作成する。
- classmethod makeInverseShearing(v)¶
シアーの逆行列を作成する。
- classmethod makeInverseTranslation(v)¶
平行移動の逆行列を作成する。
- classmethod makeR(v, order=0)¶
makeRotationの別名。
- classmethod makeRotation(v, order=0)¶
オイラー角回転から回転行列を作成する。
- classmethod makeS(v)¶
makeScalingの別名。
- classmethod makeSh(v)¶
makeShearingの別名。
- classmethod makeT(v)¶
makeTranslationの別名。
- mirror(mirrorAxis=0, negAxis=True, t=True)¶
指定軸方向でミラーしたマトリックスを得る。
- パラメータ:
- 戻り値の型:
- setAxes(vx, vy, vz, vt=ImmutableVector(0.000000, 0.000000, 0.000000), transpose=False)¶
3x3部分の行や列と4行目の平行移動ベクトルをセットする。
- setAxis(i, v, transpose=False)¶
3x3部分の行や列のベクトルをセットする。
- setColumns(v0, v1, v2, v3)¶
列ベクトルを4つ全てセットする。
- setElem(row, col, val)¶
指定位置の要素をセットする。
- setRows(v0, v1, v2, v3)¶
行ベクトルを4つ全てセットする。
- setT(v)¶
setTranslationの別名。
- setToIdentity()¶
単位行列をセットする。
- 戻り値の型:
self
- subT(v)¶
subTranslationの別名。