matrix4x4 QML Value Type
matrix4x4 型は、4 行 4 列の行列です。詳細...
詳細な説明
matrix4x4
型は 16 個の値を持ち、それぞれ QML のプロパティm11
からm44
からアクセスできます(行/列の順)。この型の値は、Qt.matrix4x4() 関数で合成することができます。matrix4x4 の各属性は、実数(ARM では単精度、x86 では倍精度)として格納されます。
matrix4x4
型のプロパティのデフォルトは単位行列で、その対角エントリはm11
、m22
、m33
、m44
のすべて1
であり、その他の構成要素はすべて0
です。
行列 4x4 型には QML で呼び出すことのできる以下のようなべき等関数があります:
関数のシグネチャ | 説明 | 例 |
---|---|---|
translate(vector3d vector) | this 行列 4x4 に、座標をベクトル 3d の成分で変換する別の行列を乗じます。vector | |
rotate(real angle, vector3d axis) | this 行列 4x4 を、座標をangle 度回転させる別の行列で乗算します。axis | |
rotate(四元数) | this 行列 4x4 を、指定されたquaternion に従って座標を回転させる別の行列で乗算します。quaternion は正規化されているものとします。 | |
scale(real factor) | this 行列 4x4 に,座標を指定された倍率でスケーリングする別の行列を乗じます.factor | var m = Qt.matrix4x4(); m.scale(2); console.log(m.toString()); // QMatrix4x4(2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1) |
scale(real x, real y, real z) | this 行列 4x4 に,座標を成分x ,y によってスケーリングする別の行列を乗じます.z | var m = Qt.matrix4x4(); m.scale(1,2,3); console.log(m.toString()); // QMatrix4x4(1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1) |
scale(vector3d vector) | this 行列 4x4 に,以下の成分で座標をスケーリングする別の行列を乗算しますvector | |
lookAt(vector3d eye, vector3d center, vector3d up) | this matrix4x4 に、eye の点から得られるビューイング行列を乗じます。center vector3d は、eye が見ている視界の中心を示す。up vector3d は,eye を基準として,どの方向を上とみなすべきかを示す. | |
matrix4x4 times(matrix4x4 other) | this の matrix4x4 とother の matrix4x4 を掛け合わせた matrix4x4 の結果を返します。 | |
vector4d times(vector4d vector) | vector をthis の matrix4x4 に従って変換した結果を、行列を適用した事前ベクトルで vector4d した結果を返します。 | |
vector3d times(vector3d vector) | vector をthis の matrix4x4 に従って変換した vector3d の結果を、行列を適用した事前ベクトルで返します。 | |
matrix4x4 times(real factor) | this matrix4x4 にスカラーを乗じた matrix4x4 の結果を返します。factor | var a = Qt.matrix4x4(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); var b = 4.48; var c = a.times(b); console.log(c.toString()); // QMatrix4x4(4.48, 8.96, 13.44, 17.92, 22.4, 26.88, 31.36, 35.84, // 40.32, 44.8, 49.28, 53.76, 58.24, 62.72, 67.2, 71.68) |
matrix4x4 plus(matrix4x4 other) | this の matrix4x4 とother の matrix4x4 を加算した matrix4x4 の結果を返します。 | |
matrix4x4 minus(matrix4x4 other) | this 行列 4x4 からother 行列 4x4 を減算した行列 4x4 の結果を返します。 | |
vector4d row(int which) | which で指定されたthis の vector4d 行を返します。注意:which は、行列への 0 ベースのアクセスです。 | |
vector4d column(int which) | which で指定されたthis の vector4d 列を返します.注意:which は、行列への 0 ベースのアクセスです。 | |
real determinant() | this matrix4x4 の行列式を返します。 | var a = Qt.matrix4x4(1,0,0,0,0,2,0,0,0,0,3,0,100,200,300,1); var b = a.determinant(); console.log(b); // 6 |
行列 4x4 の逆行列を返します. | this matrix4x4 の逆行列が存在すればそれを返し、存在しなければ単位行列を返します。 | var a = Qt.matrix4x4(1,0,0,0,0,2,0,0,0,0,3,0,100,200,300,1); var b = a.inverted(); console.log(b.toString()); // QMatrix4x4(1, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0.333333, 0, -100, // -100, -100, 1) |
matrix4x4 transposed() | this matrix4x4 の転置行列を返します。 | var a = Qt.matrix4x4(1,0,0,0,0,2,0,0,0,0,3,0,100,200,300,1); var b = a.transposed(); console.log(b.toString()); // QMatrix4x4(1, 0, 0, 100, 0, 2, 0, 200, 0, 0, 3, 300, 0, 0, 0, 1) |
rect mapRect(rect) | 与えられた矩形を,この行列で定義される座標系に写します.rotation または shearing が指定されている場合、この関数は外接矩形を返します。この関数は Qt 6.5 で導入されました。 | |
点 map(point) | 指定された点を、この行列で定義された座標系にマップします。この関数は Qt 6.5 で導入されました。 | var a = Qt.matrix4x4(2,0,0,0,0,2,0,0,0,0,1,0,0,0,0,1); var b = a.map(10, 20); console.log(b.toString()); // Qt.point(20, 40) |
bool fuzzyEquals(matrix4x4 other, real epsilon) | this matrix4x4 がother matrix4x4 とほぼ等しい場合に真を返します。this の各属性がother の各属性のepsilon 以内にある場合,近似は真になります.epsilon はオプション引数であることに注意してください.デフォルトのepsilon は 0.00001です. | var a = Qt.matrix4x4(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); var b = Qt.matrix4x4(1.0001,2.0001,3.0002,4.0003,5.0001,6.0002, 7.0002,8.0004, 9.0001,10.0003, 11.0003,12.0004,13.0001, 14.0002,15.0003,16.0004); var c = a.fuzzyEquals(b); // default epsilon var d = a.fuzzyEquals(b, 0.005); // supplied epsilon console.log(c + " " + d); // false true |
この値型はQtQuick インポートによって提供されます。
QML Value Typesも参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.