Matrix4f(//接受16个浮点参数保存为中介4x4矩阵 float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33 );转QMatrix4x4类型
时间: 2023-07-02 13:07:36 浏览: 102
16位转浮点型float,MODBUS 32位转浮点型float 64位转双浮点型double
可以使用QMatrix4x4构造函数,接受一个QVector4D类型的参数,将16个浮点数按行顺序存储到QVector4D中,然后再将四个QVector4D作为参数传递给QMatrix4x4构造函数。具体代码如下:
```
Matrix4f mat = ...; // 假设已经定义了Matrix4f类型的mat变量,并且已经初始化
QMatrix4x4 qMat(QVector4D(mat[0], mat[1], mat[2], mat[3]),
QVector4D(mat[4], mat[5], mat[6], mat[7]),
QVector4D(mat[8], mat[9], mat[10], mat[11]),
QVector4D(mat[12], mat[13], mat[14], mat[15]));
```
其中,mat[0]到mat[15]表示Matrix4f矩阵中的每一个元素,QVector4D(x, y, z, w)表示一个四维向量,x、y、z、w分别表示向量的四个分量,这里我们将每一行作为一个四维向量传递给QVector4D构造函数。最终得到的qMat就是一个QMatrix4x4类型的矩阵,与Matrix4f等价。
阅读全文