\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