Skip to content

矩阵运算

matrixCompMult

逐元素矩阵乘法。

glsl
mat2 matrixCompMult(mat2 x, mat2 y)
mat3 matrixCompMult(mat3 x, mat3 y)
mat4 matrixCompMult(mat4 x, mat4 y)

参数说明

  • x: 第一个矩阵
  • y: 第二个矩阵 返回值:逐元素相乘后的矩阵

使用示例

glsl
mat2 result = matrixCompMult(mat2(1.0, 2.0, 3.0, 4.0), mat2(2.0, 3.0, 4.0, 5.0));

transpose

矩阵转置。

glsl
mat2 transpose(mat2 m)
mat3 transpose(mat3 m)
mat4 transpose(mat4 m)

参数说明

  • m: 输入矩阵 返回值:转置后的矩阵

使用示例

glsl
mat2 transposed = transpose(mat2(1.0, 2.0, 3.0, 4.0));

determinant

计算矩阵的行列式。

glsl
float determinant(mat2 m)
float determinant(mat3 m)
float determinant(mat4 m)

参数说明

  • m: 输入矩阵 返回值:矩阵的行列式值

使用示例

glsl
float det = determinant(mat2(1.0, 2.0, 3.0, 4.0));

inverse

计算矩阵的逆矩阵。

glsl
mat2 inverse(mat2 m)
mat3 inverse(mat3 m)
mat4 inverse(mat4 m)

参数说明

  • m: 输入矩阵 返回值:逆矩阵

使用示例

glsl
mat2 inv = inverse(mat2(1.0, 2.0, 3.0, 4.0));

outerProduct

计算两个向量的外积。

glsl
mat2 outerProduct(vec2 c, vec2 r)
mat3 outerProduct(vec3 c, vec3 r)
mat4 outerProduct(vec4 c, vec4 r)

参数说明:

  • c: 列向量
  • r: 行向量 返回值:外积矩阵

使用示例:

glsl
mat2 result = outerProduct(vec2(1.0, 2.0), vec2(3.0, 4.0));