¿Cómo puedo saber si dos polígonos se cruzan?

Imagina que tengo la coordenada de 4 puntos que forman un polígono. Estos puntos se representan usando PointF en C #. Si tengo 2 polígonos (usando 8 puntos), ¿cómo puedo saber si se cruzan?

La clase Rectangle tiene un método llamado IntersectsWith pero no pude encontrar algo similar para GraphicsPath o Region.

Cualquier consejo sería muy apreciado.

Mosh

Respuestas a la pregunta(4)

Su respuesta a la pregunta