两个矩形随便旋转后相交,求相交点

两个矩形任意旋转后相交,求相交点
两个矩形"A"、"B","A"在任意旋转后与“B”相交,"B"不旋转,求相交区域"C"的几个点,怎么算?
两个矩形随便旋转后相交,求相交点
------解决方案--------------------
因为b不旋转,先用b的坐标范围[x1,x2],[y1,y2]判断是否有a的顶点落在该区域,如果没有就没有交点.
如果有,就挨个判断 跟这些顶点连接的边是否与b的边有交点,有就是c的顶点(最后把落在b中的a的顶点也加进去)
------解决方案--------------------
所有线段求交,把交点集和顶点集并起来,去掉不同时在AB内部的点,剩下的点围成凸包,就是你要的形状

如果形状任意,可以选择对应的裁剪算法,比如http://en.wikipedia.org/wiki/Sutherland-Hodgman_clipping_algorithm
------解决方案--------------------
不一定是凸的哦