def METHOD_NAME(self, x_scale, y_scale, angle):
    transformed_shift0 = self.shift0.scale(x_scale, y_scale).rotate(angle)
    transformed_shift1 = self.shift1.scale(x_scale, y_scale).rotate(angle)
    transformed_tile = []
    for start, end in self.tile:
        start = start.scale(x_scale, y_scale).rotate(angle)
        end = end.scale(x_scale, y_scale).rotate(angle)
        transformed_tile.append((start, end))
    return transformed_shift0, transformed_shift1, transformed_tile