メソッド ¶
__init__(values)
新しいMatrix2を返します。パラメータなし(その結果はすべてゼロになります), float(その結果の対角線の値がそのfloat値になり、残りがすべてゼロになります), 4個のfloatシーケンス、2個のfloatシーケンスのシーケンスを渡すことができます。
>>> hou.Matrix2() <hou.Matrix2 [[0, 0], [0, 0]]]> >>> hou.Matrix2(1) <hou.Matrix2 [[1, 0], [0, 1]]> >>> hou.Matrix2((0, 1, 2, 3)) <hou.Matrix2 [[0, 1], [2, 3]]> >>> hou.Matrix2(((0, 1), (3, 4))) <hou.Matrix2 [[0, 1], [2, 3]]>
Houdiniのマトリックスは行優先の順番で保存されるので、マトリックスの内容は行でグループ化されます。
isAlmostEqual(matrix2, tolerance=0.00001)
→ bool
このマトリックスが許容値内で他のマトリックスと等価かどうか返します。
at(row, col)
→ double
指定した行と列でのマトリックスの値を返します。
行または列の数が0個以上1個以下でなかった場合、IndexErrorを引き起こします。 マイナスのインデックスは最後からインデックスを始めないことに注意してください。
setAt(row, col, value)
指定した行と列でのマトリックスの値を設定します。
行または列の数が0個以上1個以下でなかった場合、IndexErrorを引き起こします。 マイナスのインデックスは最後からインデックスを始めないことに注意してください。
asTuple()
→ tuple
of float
マトリックスの内容を4個のfloatのタプルとして返します。
asTupleOfTuples()
→ tuple
of tuple
of float
マトリックスの内容を2個のfloatのタプルのタプルとして返します。
setTo(tuple)
このマトリックスの内容を設定します。シーケンスには4個のfloatまたは、各2個のfloatを持つ2個のシーケンスを指定することができます。
最適なパラメータ値のサンプルは、hou.Matrix2.__init__を参照してください。
setToIdentity()
このマトリックスを(対角線上の値が1の)乗法単位行列に設定します。
このマトリックスには[[1, 0], [0, 1]]
の値が格納されます。
hou.Matrix2(1)
を使用することでも、そのような値を持ったマトリックスを新しく構築することができます。
setToZero()
すべてがゼロのマトリックスを設定します。
hou.Matrix2()
を使用することでも、すべてがゼロのマトリックスを新しく構築することができます。
__add__(matrix2)
→ hou.Matrix2
2つのマトリックスを、それぞれに該当するエントリーと加算して、新しいマトリックスを返します。
このメソッドによりm1 + m2
を記述することができます。m1
とm2
はMatrix2オブジェクトです。
__sub__(matrix2)
→ hou.Matrix2
このマトリックスから他のマトリックスのそれぞれに該当するエントリーで減算して、新しいマトリックスを返します。
このメソッドによりm1 - m2
を記述することができます。m1
とm2
はMatrix2オブジェクトです。
__mul__(matrix2_or_scalar)
→ hou.Matrix2
このマトリックスを他のマトリックスやスカラーで乗算して、新しいマトリックスを返します。
このメソッドによりm1 * m2
やm1 * s
を記述することができます。m1
とm2
はMatrix2オブジェクトで、s
はfloatです。
その結果での各エレメントの計算方法に関する詳細は、 Wikipediaのマトリックス乗算のページ を参照してください。
preMult(matrix2)
→ hou.Matrix2
matrix2 * self
を返します。 __mul__
はself * matrix2
を返します。
これはマトリックス乗算が可換性でないので、異なった結果になります。
transposed()
→ hou.Matrix2
このマトリックスの転置行列を返します。その結果は、0 <= i,j <= 1
に対して、self.at(i, j) == self.transposed().at(j, i)
となります。
詳細は、 Wikipediaの転置行列のページ を参照してください。
inverted()
→ hou.Matrix2
このマトリックスの逆行列を返します。
マトリックスが可逆行列でない場合は、hou.OperationFailedを引き起こします。
可逆行列の場合は、(self * self.inverted()).isAlmostEqual(hou.Matrix2(1))
はTrueです。
詳細は、 Wikipediaの可逆行列のページ を参照してください。