
Estou tentando obter o ponto de intersecção entre uma linha e um círculo, mas quando desenho desse ponto para outro, ele não começa apenas na interseção.
Aqui está o meu 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}
Responder1
Conforme afirmado nos comentários, um nó ocupará algum espaço. Você pode ver isso adicionando [draw]
ao nó. Para desenhar uma linha até a interseção, especifique-a como a coordinate
ou desenhe a linha até o centro do nó.
\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}