saveNodeCoors 和 \psGetNodeCenter 之间有什么区别?

saveNodeCoors 和 \psGetNodeCenter 之间有什么区别?
\documentclass[border=15pt,pstricks,12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid](5,3)
\rput(1.5,0.5){\trinode{CN}{NodeA}}
\rput(3.5,2.5){\trinode{EN}{NodeB}}
\pnode(! \psGetNodeCenter{CN} CN.x 2 add CN.y 1 add ){MyCNode}
\ncline[linecolor=red]{MyCNode}{EN}
\ncline[linecolor=blue]{CN}{EN}
\end{pspicture}
\end{document}

在此处输入图片描述

来自图像,我不认为MyCNode的坐标是(3.5,1.5!?)

\documentclass[border=15pt,pstricks,12pt]{standalone}
\usepackage{pst-node}
\begin{document}
\begin{pspicture}[showgrid,saveNodeCoors](5,3)
\rput(1.5,0.5){\trinode{CN}{NodeA}}
\rput(3.5,2.5){\trinode{EN}{NodeB}}
\pnode(! N-CN.x 2 add N-CN.y 1 add ){MyCNode}
\ncline[linecolor=red]{MyCNode}{EN}
\ncline[linecolor=blue]{CN}{EN}
\end{pspicture}
\end{document}

在此处输入图片描述

从上面的代码可知,(N-CN.x,N-CN.y)=(0,0)!?

P\S: 在pst-node的文档里有这样一句话,内容如下:在以下示例中,它不起作用,因为没有考虑通过 \rput 进行的相对节点设置。说实话,我不太明白。

答案1

这有点棘手:三角形的“垂直中心”位于\rput。但节点本身是文本!!

\documentclass[border=15pt,pstricks,12pt]{standalone}
\usepackage{pst-node}
\begin{document}
    \begin{pspicture}[showgrid](5,3)
    \rput(0,0){\trinode{A}{A}}\psdot(A)%
    \rput(1.5,0.5){\trinode{CN}{NodeA}}\psdot(CN)%
    \rput(3.5,2.5){\trinode{EN}{NodeB}}\psdot(EN)%
    \pnode(! \psGetNodeCenter{CN} CN.x 2 add CN.y 1 add ){MyCNode}\psdot(MyCNode)
    \ncline[linecolor=red]{MyCNode}{EN}
    \ncline[linecolor=blue]{CN}{EN}
    \end{pspicture}

\begin{pspicture}[showgrid,saveNodeCoors](-1,-1)(5,3)
\rput(0,0){\trinode{A}{NodeA}}\psdot(A)
\rput(1.5,0.5){\trinode{CN}{NodeA}}\psdot(CN)
\rput(3.5,2.5){\trinode{EN}{NodeB}}\psdot(EN)
\psdot[linecolor=red](! N-CN.x N-CN.y)
\pnode(! N-CN.x 2 add N-CN.y 1 add ){MyCNode}\psdot(MyCNode)
\ncline[linecolor=red]{MyCNode}{EN}
\ncline[linecolor=blue]{CN}{EN}
\end{pspicture}
\end{document}

在此处输入图片描述

在此处输入图片描述

使用保存节点坐标仅对以下定义的节点有意义:\pnode

相关内容