Can someone help me to draw a figure of many lines through the origin
like the above figure but without the plan, and the dashed parts. I wish to create an effect of a line in movement.
Here is a way using the 3dtools
library from here. Maybe one fine day when GitHub becomes more accessible to users with some math background this library will become part of CTAN... This library allows us to access the coordinates and compute the intersection with the plane analytically.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{intersections,perspective,3d,3dtools}
\begin{document}
\begin{tikzpicture}[3d view={30}{15}]
\path (0,0,0) coordinate (O)
foreach \X[count=\Y] in {(3,0,0),(2,1,1),(2,0,3),(1,1,3),(0,0,3)}
{(O) -- \X coordinate (p\Y) coordinate[pos=-0.3] (p-\Y)};
\path[canvas is xy plane at z=2,fill=blue!30] (
(-4,-4) coordinate (r1) -- (4,-4) coordinate
(r2) -- (4,4) coordinate
(r3) -- (-4,4) -- cycle;
\path[name path=edge] (r1) -- (r2) -- (r3);
\foreach \Y in {1,...,5}
{\path[name path=ray] (p-\Y) -- (p\Y);
\path[name intersections={of=edge and ray,total=\t},draw,thick]
\ifnum\t=1
(p-\Y) -- (intersection-1) coordinate (i-\Y)
\else
(p-\Y) -- (p\Y)
\fi;
\pgfmathsetmacro{\itest}{TD("(p\Y)o(0,0,1)")}
\ifdim\itest pt>0pt
\pgfmathsetmacro{\tt}{2/TD("(p\Y)o(0,0,1)")}
\ifdim\tt pt<1pt
\pgfmathsetmacro{\myint}{TD("\tt*(p\Y)")}
\draw[thick,dashed] (\myint) -- (i-\Y);
\draw[thick] (\myint) node[circle,inner sep=1pt,fill]{} -- (p\Y);
\fi
\fi
}
\end{tikzpicture}
\end{document}
README.md
is too difficult to discover, and that an in-repo generated PDF next to the .tex
avoids the problem of users not finding the already-compiled documentation?