code: def invert_affine_mat44(mat):
      
  
      inverted = Matrix44()
  
      # Transpose the 3x3 rotation component
      for i in range(3):
          for j in range(3):
              inverted.data[i][j] = mat.data[j][i]
  
      # Set translation: inverted_trans_vec3 = -inv(rot_mat33) * trans_vec3
      for row in range(3):
          inverted.data[3][row] = (
              -inverted.data[0][row] * mat.data[3][0] +
              -inverted.data[1][row] * mat.data[3][1] +
              -inverted.data[2][row] * mat.data[3][2])
  
      return inverted
docs: Assumes there is only rotate, translate, and uniform scale componenets
      to the matrix.