This function computes the minimum euclidean distance between two
polygons P1 & P2.
min_d = min_dist_between_two_polygons(P1,P2,Display_solution);
This function takes two arguments, a third one is optional.
P1 & P2 contain the geometry of polygons.
P1 & P2 are structures containing two fields: x & y
P1.x = rand(1,5)+2;
P1.y = rand(1,5);
P2.x = rand(1,3);
P2.y = rand(1,3);
Display_solution is a binary variable that enables or not the
plot of the solution.
The function starts by checking if polygons are intersecting.
In this case, the minimum distance is 0.
Otherwise, distances between all vertices and edges of the two
polygons are computed. The function returns the minimum distance found.
Further details of the implementation can be found in the code.