Eu uso o seguinte código:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\draw[help lines] (0,0) grid (10,10);
\draw[very thick,rotate around={45:(2.3,5)}] (2.3,5) rectangle ++(4,0.3) ++(0,-0.15) node[inner sep=0pt,outer sep=0pt] (p2) {};
\draw[very thick,rotate around={-10:($(2.3,5)+(45:4)$)}] (2.3,5)++(45:4) rectangle ++(4,0.3)--++(0,0.2)--++(0.7,0)--++(0,-0.15)--++(-0.55,0)--++(0,-0.4)--++(0.55,0)--++(0,-0.15)--++(-0.7,0)--++(0,0.2)++(-4,0)++(0,0.15) coordinate (p3);
\draw[name path=2nd2] (p2)--+(45:2);
\draw[name path=3rd] (p3)--+(170:2);
\path[name intersections={of=2nd2 and 3rd,by=i23}];
\fill[red] (i23) circle (0.5pt);
\end{tikzpicture}
\end{document}
Aqui está a saída:
Quando amplio o zoom, percebo que, ao contrário de (p3)
with coordinate
, há uma distância entre (p2)
with node[inner sep=0pt,outer sep=0pt]
e a linha que começa em (p2)
. Alguém poderia explicar o que causa a lacuna? Obrigado.
Responder1
Seu nó vazio ainda não está completamente vazio, mesmo quando inner sep
e outer sep
ambos estão configurados para 0pt
ele, possui um espaço. Uma coordenada, por outro lado, é apenas um ponto no seu sistema de coordenadas. Para obter o mesmo comportamento com um nó, você precisa definir também minimum size=0pt
. Compare os três nós e a coordenada no exemplo abaixo.
\begin{tikzpicture}
\draw[gray!40] (0,0) grid (4,3);
\node[label=below:np] (np) at (1,2){};
\node[label=below:np2,inner sep=0pt,outer sep=0pt] (np2) at (2,2){};
\node[label=below:np3,inner sep=0pt,outer sep=0pt,minimum size=0pt] (np3) at (1,1){};
\coordinate[label=below:cp] (cp) at (2,1);
\foreach \angle in {0,45,...,315}{
\draw[very thin,red] (np.\angle) circle (0.2pt);
\draw[very thin,red] (np2.\angle) circle (0.2pt);
\draw[very thin,red] (np3.\angle) circle (0.2pt);
\draw[very thin,red] (cp.\angle) circle (0.2pt);
}
\end{tikzpicture}
No canto superior esquerdo há um nó normal, no canto superior direito um nó com a separação interna e externa definida como zero, no canto inferior esquerdo um nó vazio com minimum size
definido como zero e no canto inferior direito uma coordenada, todos os quatro com pequenos círculos em todas as direções (separação de 45 graus).
No seu exemplo, isso significa que ao desenhar do nó (p2)
em direção a 45 graus, ele começa em (p2.45)
, o que lhe dará uma pequena lacuna. Tente mudar para
\draw[name path=2nd2] (p2.center)--+(45:2);
ou mude (p2)
para coordinate
, ou adicione minimum size=0pt
.