
Estoy tratando de obtener el punto de intersección entre una línea y un círculo, pero cuando dibujo de ese punto a otro, no comienza justo en la intersección.
Aquí está mi código:
\documentclass[margin=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw [name path = circle]
(0,0) circle (1);
\path [name path = en1] (-3,.4)--(3,.4);
\path [name path = en2] (-3,-.4)--(3,-.4);
\draw [name intersections={of=en1 and circle}]
(intersection-1) node (ne) {}
(intersection-2) node (no) {};
\draw [name intersections={of=en2 and circle}]
(intersection-1) node (so) {}
(intersection-2) node (se) {};
\draw
(0,0) -- (ne);
\end{tikzpicture}
\end{document}
Respuesta1
Como se indica en los comentarios, un nodo ocupará algo de espacio. Puedes verlo agregando [draw]
al nodo. Para dibujar una línea hasta la intersección, especifíquela como coordinate
o dibuje la línea hasta el centro del nodo.
\documentclass[margin=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw [name path = circle]
(0,0) circle (1);
\path [name path = en1,draw,gray!40] (-3,.4)--(3,.4);
\path [name path = en2,draw,gray!40] (-3,-.4)--(3,-.4);
\draw [name intersections={of=en1 and circle}]
(intersection-1) node[draw] (ne) {}
(intersection-2) node (no) {};
\draw [name intersections={of=en2 and circle}]
(intersection-1) coordinate (so)
(intersection-2) coordinate (se);
\draw (0,0) -- (ne);
\draw (0,0) -- (no.center);
\draw (0,0) -- (se);
\end{tikzpicture}
\end{document}