def find_intersection(x1, y1, x2, y2, x3, y3, x4, y4):
    """
    find_intersection will find the intersection point of two line segments when four coordinates
    are given for both line segments. It will return the intersection point as a tuple.

    :param x1: x-coordinate of vertex 1 in line 1
    :param y1: y-coordinate of vertex 2 in line 1
    :param x2: x-coordinate of vertex 1 in line 2
    :param y2: y-coordinate of vertex 2 in line 2
    :param x3: x-coordinate of vertex 1 in line 3
    :param y3: y-coordinate of vertex 2 in line 3
    :param x4: x-coordinate of vertex 1 in line 4
    :param y4: y-coordinate of vertex 2 in line 4
    :return: intersection point of two line segments as tuple
    """

    # Values that exist in both px and py
    cross_1 = (x1 * y2 - y1 * x2)
    cross_2 = (x3 * y4 - y3 * x4)
    denominator = ((x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4))

    # Find the x-coordinate of the center
    px = (cross_1 * (x3 - x4) - (x1 - x2) * cross_2) / denominator
    # Find the y-coordinate of the center
    py = (cross_1 * (y3 - y4) - (y1 - y2) * cross_2) / denominator
    # Return the center as tuple
    return px, py