Returns collision with axis aligned other rect

def collides_axisaligned_rect(self, other):
        """Returns collision with axis aligned other rect"""

        # Shift both rects so that self is centered at origin

        self_shifted = RotoOriginRect(self.width, self.height, -self.angle)

        s_a = self.sin_a()
        c_a = self.cos_a()

        center_x = self.x + self.width / 2.0 * c_a - self.height / 2.0 * s_a
        center_y = self.y - self.height / 2.0 * c_a - self.width / 2.0 * s_a

        other_shifted = Rect(other.x - center_x, other.y - center_y,
                             other.width, other.height)

        # Calculate collision

        return self_shifted.collides(other_shifted)