Multiplication of Rotation Matrix

I have learned this in advanced mathematics, that is, multiply the left row by the right column, and then add them together.

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] ;
    
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324725744&siteId=291194637