# given coordinates of beginning and end of two intersecting line segments how do I find coordinates of their intersection?

There are two line segments. I know for sure they intersect (so I don't have to check it). For both line segment I know coordinates of its both ends. With what formula can I find coordinates of their intersection?

I know the method I can use (find their lines' equations and solve them), but I'm lazy and I want just to have ready to use formula.

-
If you can do it for one pair of line segments, you can do it for an arbitrary line segment by just solving equations with variable coefficients instead of static ones. Note that not all pairs of line segments intersect. –  Daniel Rust Apr 28 '13 at 10:03
I'm afraid you misunderstood me. In my case there are only two line segments. –  user983447 Apr 28 '13 at 10:12
I understand. Just let one line segment have ends $(x_1,y_1)$ and $(x_2,y_2)$ and the other line segment have ends $(u_1,v_1)$ and $(u_2,v_2)$. You can find the equations of the lines which contain these segments in cartesian coordinates. These lines will have an intersection as long as they are not parallel (although the intersection might not be on the pair of line segments unless you know they cross). –  Daniel Rust Apr 28 '13 at 10:19

one line segment from $(x_1,y_1)$ to $(x_2,y_2)$

another line segment from $(x_3,y_3)$ to $(x_4,y_4)$

the set of points on the first line segment is $$A = \{ (x_1 + (x_2-x_1)u,y_1 + (y_2-y_1)u) \in \mathbb R^2 \mid u \in [0,1] \}$$

the set of points on the second line segment is $$B = \{ (x_3 + (x_4-x_3)t,y_3 + (y_4-y_3)t) \in \mathbb R^2 \mid t \in [0,1] \}$$

we want to find $$A \cap B$$ which means finding $u \in [0,1]$, $t \in [0,1]$ such that $$(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)$$

split into components

$$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$$

solve for $u$ by eliminating $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$$

now you can find the intersection of two lines by calculating this $u$ and checking its between 0 and 1, then calculating t (which is easy once you know u) and checking it's also between 0 and 1.

-