
Estoy intentando alinear dos caminos usando coordenadas polares:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\path [fill=blue] (0,0) -- +(-135:5mm) -- ([turn]90:25mm) -- ([turn]90:5mm) -- cycle;
\path [fill=red] (0,0) -- +(-135:5mm) -- ([turn]90: 5mm) -- ([turn]90:5mm) -- cycle;
\end{tikzpicture}
\end{document}
Sin embargo, están ligeramente desalineados:
(La imagen de abajo está recortada y ampliada)
¿Me estoy perdiendo, es decir, estoy calculando mal algo aquí?
Respuesta1
El problema es así de viejo.imprecisiones en PGFseñalado hace mucho tiempo por Mark Wibrow. Si aplicamos su corrección de \pgfpointnormalised
obtenemos una mejor precisión no sólo para las proyecciones ortogonales sino también para [turn]
.
\documentclass[tikz]{standalone}
\usetikzlibrary{spy}
% use the Mark Wibrow's correction
\makeatletter
\def\pgfpointnormalised#1{%
\pgf@process{#1}%
\pgfmathatantwo{\the\pgf@y}{\the\pgf@x}%
\let\pgf@tmp=\pgfmathresult%
\pgfmathcos@{\pgf@tmp}\pgf@x=\pgfmathresult pt\relax%
\pgfmathsin@{\pgf@tmp}\pgf@y=\pgfmathresult pt\relax%
}
\makeatother
\begin{document}
\begin{tikzpicture}[spy using outlines={circle, magnification=7, size=17mm, connect spies}]
\path [draw=blue] (0,0) -- +(-135:5mm) -- ([turn]90:25mm) -- ([turn]90:5mm) -- cycle;
\path [draw=red] (0,0) -- +(-135:5mm) -- ([turn]90: 5mm) -- ([turn]90:5mm) -- cycle;
\spy on (-45:5mm) in node at (2,-.5);
\end{tikzpicture}
\end{document}