Como posso verificar se dois segmentos se cruzam?

Como posso verificar se dois segmentos se cruzam?

Eu tenho os seguintes dados:

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

Eu preciso escrever um pequeno algoritmo em python para detectar se as 2 linhas estão se cruzando.

Atualizar: