多角形同士が重なってできる領域の多角形を求める方法を教えて下さい。

例えば簡単な四角形を例に挙げると、
四角形1の点: A(0,0), B(0,2), C(2,2), D(2,0)
四角形2の点: E(1,1), F(1,3), G(3,3), H(3,1)
四角形3の点: E, I(1,2), C, J(2,1)
この場合、四角形1,2から四角形3を求めたい。
汎用的にn角形同士でも求めることができる方法を探しています。

よろしくお願いします。