def rotate(quat)
      rot_matrix = Matrix.from_quat(quat)
      verts = self.vertices
      inv_mat = rot_matrix.inv
      verts = verts.collect {|item| inv_mat*item}
      return Box.from_points(verts)
    end
def rotate(quat)
      rot_matrix = Matrix.from_quat(quat)
      verts = self.vertices
      inv_mat = rot_matrix.inv
      verts = verts.collect {|item| inv_mat*item}
      return Box.from_points(verts)
    end
[input]
  _quat_ should be Quat.
 [Output]
  return rotated box as Box.
  since Box is AABB, returned box might be bigger than original one.