Say, if I have two polygons, their name and coordinates are (in Python):
p:[(1,1),(2,2),(4,2),(3,1)]
q:[(1.5,2),(3,5),(5,4),(3.5,1)]
In our human brain, it is easy to know that these two polygons are intersected and calculate the intersection area coordinates, but I want to let our machine know how to calculate the intersection area's coordinates. Basically, I want to know if there is a simple and clear algorithm for this job, if there is already a Python library could do this, it will be perfect.