def mirrorPointAboutLine(point, line):
    """
        **Mirror a point about a line**

        Function returns a 2-element list defining the x and y coordinates of the mirrored points

        :param point: 2-element list defining the x and y coordinates of the mirrored points
        :type point: list
        :param line: 3-element list defining the A, B, and C coefficients of the line, as in: A*x + B*y + C = 0
        :type line: list

        :return: list
    """
    x = point[0]
    y = point[1]
    A = line[0]
    B = line[1]
    C = line[2]
    xMirrored = ((B ** 2 - A ** 2) * x - 2 * A * B * y - 2 * A * C) / (A **
        2 + B ** 2)
    yMirrored = ((A ** 2 - B ** 2) * y - 2 * A * B * x - 2 * B * C) / (A **
        2 + B ** 2)
    return [xMirrored, yMirrored]
