rotate vector (x1, y1) counterclockwise by the given angle (angle in radians) newX = oldX * cos(angle) - oldY * sin(angle) newY = oldX * sin(angle) + oldY * cos(angle)
#clockwise: rotated = list(zip(*original[::-1])) #counterclockwise: rotated_ccw = list(zip(*original))[::-1]