这个高数里学过,就是左行分别乘右列,然后相加。
void mtxMultMatrixf(float M[3][3], float T[3][3]) { float M0[3][3]; for (int j = 0; j < 3; j++){ for (int i = 0; i < 3; i++){ M0[j][i] = T[j][i]; } } M[ 0][0] = M0[ 0][0] * T[ 0][0] + M0[0][1] * T[ 1][0] + M0[0][2] * T[ 2][0] ; M[ 1][0] = M0[ 1][0] * T[ 0][0] + M0[1][1] * T[ 1][0] + M0[1][2] * T[ 2][0] ; M[ 2][0] = M0[ 2][0] * T[ 0][0] + M0[2][1] * T[ 1][0] + M0[2][2] * T[ 2][0] ; M[ 0][1] = M0[ 0][0] * T[ 0][1] + M0[0][1] * T[ 1][1] + M0[0][2] * T[ 2][1] ; M[ 1][1] = M0[ 1][0] * T[ 0][1] + M0[1][1] * T[ 1][1] + M0[1][2] * T[ 2][1] ; M[ 2][1] = M0[ 2][0] * T[ 0][1] + M0[2][1] * T[ 1][1] + M0[2][2] * T[ 2][1] ; M[ 0][2] = M0[ 0][0] * T[ 0][2] + M0[0][1] * T[ 1][2] + M0[0][2] * T[ 2][2] ; M[ 1][2] = M0[ 1][0] * T[ 0][2] + M0[1][1] * T[ 1][2] + M0[1][2] * T[ 2][2] ; M[ 2][2] = M0[ 2][0] * T[ 0][2] + M0[2][1] * T[ 1][2] + M0[2][2] * T[ 2][2] ; }