
Tenho muitas imagens pequenas, cada uma centralizada em (0,0) em sua própria figura, mas preciso combiná-las e na imagem combinada o (0,0) da 1ª imagem (em um escopo) deve ser (4, 2) da 2ª foto - qual a melhor forma de conseguir isso?
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[green](4,5)circle(2pt);
\begin{scope}
\begin{scope}
%Should point at the green dot - (3,2)X and (4,5) should be matched
\draw[red,latex-](0,0)--(3,2);
\end{scope}
\begin{scope}
% Should be at the other end of the red vector (3,2)X and (0,0)XX should be matched
\draw[blue](0,0)circle(5pt);
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}
O X após as coordenadas estão aí para visualizar, que essas coordenadas estão (devem ser válidas) em escopos diferentes)
PS: Atualmente estou fazendo isso com xshift, yshift mas isso é meio tedioso.
Responder1
Use coordenadas nomeadas, como:
\coordinate (x) at (4,5);
\coordinate (y) at (3,2);
\filldraw[green](x)circle(2pt);
...
\draw[red,latex-](0,0)--(y);
...
Além disso, você pode fazer posicionamento relativo e cálculos, se desejar.
Se você quiser usar essas coordenadas em várias fotos do TikZ, use a opção remember picture
.
Para a parte de mover a origem, é um pouco mais fácil mudar o escopo por meio de uma coordenada que usa xshift
, yshift
, como em
\begin{scope}[shift={(1,3)}]
\draw[red,latex-](0,0)--(3,2);
\end{scope}
Embora você precise saber a diferença para especificá-la.