void Matrix4::operator *= (Matrix4 &other) { Matrix4 temp; values[0][0] = getRow1().dotProduct(other.getColumn1()); values[1][0] = getRow1().dotProduct(other.getColumn2()); values[2][0] = getRow1().dotProduct(other.getColumn3()); values[3][0] = getRow1().dotProduct(other.getColumn4()); values[0][1] = getRow2().dotProduct(other.getColumn1()); values[1][1] = getRow2().dotProduct(other.getColumn2()); values[2][1] = getRow2().dotProduct(other.getColumn3()); values[3][1] = getRow2().dotProduct(other.getColumn4()); values[0][2] = getRow3().dotProduct(other.getColumn1()); values[1][2] = getRow3().dotProduct(other.getColumn2()); values[2][2] = getRow3().dotProduct(other.getColumn3()); values[3][2] = getRow3().dotProduct(other.getColumn4()); values[0][3] = getRow4().dotProduct(other.getColumn1()); values[1][3] = getRow4().dotProduct(other.getColumn2()); values[2][3] = getRow4().dotProduct(other.getColumn3()); values[3][3] = getRow4().dotProduct(other.getColumn4()); for (int i = 0; i <= 3; i++) { for (int j = 0; j <= 3; j++) { values[i][j] = temp.values[i][j]; } } }
Matrix4 Matrix4::operator * (Matrix4 &other) { Matrix4 temp; temp.values[0][0] = getRow1().dotProduct(other.getColumn1()); temp.values[1][0] = getRow1().dotProduct(other.getColumn2()); temp.values[2][0] = getRow1().dotProduct(other.getColumn3()); temp.values[3][0] = getRow1().dotProduct(other.getColumn4()); temp.values[0][1] = getRow2().dotProduct(other.getColumn1()); temp.values[1][1] = getRow2().dotProduct(other.getColumn2()); temp.values[2][1] = getRow2().dotProduct(other.getColumn3()); temp.values[3][1] = getRow2().dotProduct(other.getColumn4()); temp.values[0][2] = getRow3().dotProduct(other.getColumn1()); temp.values[1][2] = getRow3().dotProduct(other.getColumn2()); temp.values[2][2] = getRow3().dotProduct(other.getColumn3()); temp.values[3][2] = getRow3().dotProduct(other.getColumn4()); temp.values[0][3] = getRow4().dotProduct(other.getColumn1()); temp.values[1][3] = getRow4().dotProduct(other.getColumn2()); temp.values[2][3] = getRow4().dotProduct(other.getColumn3()); temp.values[3][3] = getRow4().dotProduct(other.getColumn4()); return temp; }