Un segmento de línea de $(x_1,y_1)$ a $(x_2,y_2)$
otro segmento de línea de $(x_3,y_3)$ a $(x_4,y_4)$
el conjunto de puntos del primer segmento de línea es $$A = \{ (x_1 + (x_2-x_1)u,y_1 + (y_2-y_1)u) \in \mathbb R^2 \mid u \in [0,1] \}$$
el conjunto de puntos del segundo segmento de línea es $$B = \{ (x_3 + (x_4-x_3)t,y_3 + (y_4-y_3)t) \in \mathbb R^2 \mid t \in [0,1] \}$$
queremos encontrar $$A \cap B$$ lo que significa encontrar $u \in [0,1]$ , $t \in [0,1]$ tal que $$(x_1 + (x_2-x_1)u,y_1 + (y_2-y_1)u)=(x_3 + (x_4-x_3)t,y_3 + (y_4-y_3)t)$$
dividir en componentes
$$x_1 + (x_2-x_1)u=x_3 + (x_4-x_3)t$$
$$y_1 + (y_2-y_1)u=y_3 + (y_4-y_3)t$$
resolver para $u$ eliminando $t$
$$\frac{(x_1-x_3) + (x_2-x_1)u}{(x_4-x_3)}=\frac{(y_1-y_3) + (y_2-y_1)u}{(y_4-y_3)}$$
$$\frac{(y_4-y_3)(x_1-x_3) - (x_4-x_3)(y_1-y_3)}{(x_4-x_3)(y_2-y_1) - (y_4-y_3)(x_2-x_1)} = u$$
ahora puedes encontrar la intersección de dos líneas calculando esto $u$ y comprobar que está entre 0 y 1, luego calcular t (que es fácil una vez que se conoce u) y comprobar que también está entre 0 y 1.