I need a function that takes a list of regions that is obstacles and one region that is the 'movable' region. (A region is a polygon with possible holes in it). If the movable region does not overlap any of the obstacles, the function should do nothing. Otherwise it should return an angle and direction, wich is the shortest way to move the 'movable' region, so that it does not overlap the obstacles anymore. This function has to work with resonable speed, which is up to a few seconds on a high end PC for the most complex cases, in which case there might be a few thousand of vertices involved.
This has to be implemented in c or c++.
1) Complete and fully-functional working source code of all work done.
2) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
ansi c/c++. stl/templates allowed if that is your taste.