应用奇怪的三角恒等式得到相同的结果

应用奇怪的三角恒等式得到相同的结果

以下两个输入文件产生相同的输出。

方法 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}

方法 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}

问题是为什么我必须3 1 sub 4 1 sub atan用第一种方法来表达,就像 A.y O.y sub neg A.x O.x sub atan用第二种方法一样,而

A.y等于 3

O.y等于 1

A.x等于 4

O.x等于 1

换句话说,为什么我需要在第二种方法中添加neg第一个参数?atan

答案1

节点保存在自己的字典中,该字典还保存当前变换矩阵,使用时可恢复该矩阵\psGetNodeCenter。要旋转回来,必须使用负旋转角度:

{!\psGetNodeCenter{A}\psGetNodeCenter{O} A.y O.y sub A.x O.x sub atan neg}(O){$\pi-\theta$}

neg必须在最后使用。然而,当使用 y 时,它会产生相同的结果

答案2

使用最新的 PSTricks 包后,该问题不再存在。

\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}%
    [!N-A.y N-O.y sub N-A.x N-O.x sub atan]
    {!N-A.y N-O.y sub N-A.x N-O.x sub atan}(O){$\pi-\theta$}
\end{pspicture}    

\end{document}

相关内容