# Drawing the intersection point of two dynamic lines

I want to find the intersection point of two line segments determined by the position of four locators.

l11 = {0, 0};
l12 = {4, 4};
l21 = {0, 4};
l22 = {4, 0};
l1 = Line[{Dynamic[l11], Dynamic[l12]}];
l2 = Line[{Dynamic[l21], Dynamic[l22]}];
Graphics[{Locator[Dynamic[l11]],
l1,
Locator[Dynamic[l12]],
Locator[Dynamic[l21]],
l2,
Locator[Dynamic[l22]],
PointSize, RegionIntersection[{l1, l2}]},
PlotRange -> 10, Axes -> True]


Mathematica gives an error:

Line[{{0, 0}, {4, 4}}] is not a correctly specified region

As far as I understood, the error is caused by my Line expressions containing Dynamic expressions.

How can I fix my code to show the intersection of two such line segments?

You can fix your code by rewriting it only in terms of the four points where the locators are positioned.

DynamicModule[{l11 = {0., 0.}, l12 = {4., 4.}, l21 = {0., 4.}, l22 = {4., 0.}},
Dynamic @
Graphics[
{Locator[Dynamic[l11]], Line[{l11, l12}], Locator[Dynamic[l12]],
Locator[Dynamic[l21]], Line[{l21, l22}], Locator[Dynamic[l22]],
Red, AbsolutePointSize,
RegionIntersection[{Line[{l11, l12}], Line[{l21, l22}]}]},
PlotRange -> 10,
Axes -> True]] 