The following two input files produce the same output.
Method 1:

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\psset{PosAngle={-135,90},CurveType=polyline}
\begin{document}
\begin{pspicture}[showgrid=false](4,4)
\pstGeonode
(1,1){O}
(4,3){A}
\uput{1}%
[!3 1 sub 4 1 sub atan]
{!3 1 sub 4 1 sub atan}(O){$\pi-\theta$}
\end{pspicture}
\end{document}
Method 2:

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}
\psset{PosAngle={-135,90},CurveType=polyline}
\begin{document}
\begin{pspicture}[showgrid=false](4,4)
\psset{linecolor=red}
\pstGeonode
(1,1){O}
(4,3){A}
\uput{1}%
[!\psGetNodeCenter{A}\psGetNodeCenter{O} A.y O.y sub A.x O.x sub atan]
{!\psGetNodeCenter{A}\psGetNodeCenter{O} A.y O.y sub neg A.x O.x sub atan}(O){$\pi-\theta$}
\end{pspicture}
\end{document}
The question is why do I have to express 3 1 sub 4 1 sub atan in the first method as
A.y O.y sub neg A.x O.x sub atan in the second method while
A.y equals to 3
O.y equals to 1
A.x equals to 4
O.x equals to 1
?
In other words, why do I need to add neg for the first argument of atan in the second method?
