극좌표가 TikZ에서 정렬 불량을 일으킬 수 있나요?

극좌표가 TikZ에서 정렬 불량을 일으킬 수 있나요?

극좌표를 사용하여 두 경로를 정렬하려고 합니다.

\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}

그러나 약간 잘못 정렬되어 있습니다.

(아래 사진은 크롭해서 확대한 사진입니다)

여기에 이미지 설명을 입력하세요

제가 뭔가를 놓치고 있는 걸까요? 즉, 여기서 뭔가를 잘못 계산하고 있는 걸까요?

답변1

문제는 이게 낡았어PGF의 부정확성오래 전에 Mark Wibrow가 지적했습니다. 의 수정을 적용하면 \pgfpointnormalised직교 투영뿐만 아니라 에 대해서도 더 나은 정밀도를 얻습니다 [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}

여기에 이미지 설명을 입력하세요

관련 정보