This works:
\draw (0,0) coordinate (A);
\draw (1,1) coordinate (B);
\draw (1,0) coordinate (C);
\draw (0,1) coordinate (D);
\coordinate (X) at (intersection of A--B and C--D);
but this doesn't:
\draw (0,0) coordinate (A);
\draw (1,1) coordinate (B);
\coordinate (X) at (intersection of A--B and (0,1)--(1,0));
I think it would be a great convenience to use points as in the second example, where they don't have to be named before being used as endpoints of lines.
Is there any way of coercing TiKZ to create intersections of lines given by endpoints, without naming those endpoints first?