There is an old well known problem about the precision of the orthogonal projection.
As pointed out by Mark Wibrow in this TeX.SX answer (tex.stackexchange.com) the definition of \pgfpointnormalised can be corrected to obtain better precision by the following code :
\def\pgfmathpointnormalised#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%
}
This works well in many cases :
The same precision problem affect not only the orthogonal projection, but also the turn style.
The problem is that by design (as mentioned in the manual) \pgfmathpointnormalised is supposed to really have length 1pt and is not supposed to be really precise in direction. So I don't know if the Mark Wibrow's correction will not affect other functions using \pgfmathpointnormalised.
Duplicate of https://sourceforge.net/p/pgf/feature-requests/96/