Rotates the point at `x` and `y` by `rotationDegrees`. The point is rotated
    around the origin by default, but can be rotated around another pivot point
    by specifying `pivotx` and `pivoty`.

    The points are rotated counterclockwise.

    Returns an x and y tuple.

    Since the final result will be integers, there is a large amount of
    rounding error that can take place.

    >>> rotatePoint(10, 0, 90)
    (0, 10)
    >>> rotatePoint(10, 0, 180)
    (-10, 0)
    >>> rotatePoint(10, 0, 45)
    (7, 7)

def rotatePoint(x, y, rotationDegrees, pivotx=0, pivoty=0):
    """
    Rotates the point at `x` and `y` by `rotationDegrees`. The point is rotated
    around the origin by default, but can be rotated around another pivot point
    by specifying `pivotx` and `pivoty`.

    The points are rotated counterclockwise.

    Returns an x and y tuple.

    Since the final result will be integers, there is a large amount of
    rounding error that can take place.

    >>> rotatePoint(10, 0, 90)
    (0, 10)
    >>> rotatePoint(10, 0, 180)
    (-10, 0)
    >>> rotatePoint(10, 0, 45)
    (7, 7)
    """

    # Reuse the code in rotatePoints()
    return list(rotatePoints([(x, y)], rotationDegrees, pivotx, pivoty))[0]