¿Cómo puedo verificar si dos segmentos se cruzan?

¿Cómo puedo verificar si 2 segmentos se cruzan?

Tengo los siguientes datos:

Segment1 [ {x1,y1}, {x2,y2} ]
Segment2 [ {x1,y1}, {x2,y2} ] 

Necesito escribir un pequeño algoritmo en python para detectar si las 2 líneas se cruzan.

Actualizar: