假设有 2 个\curvepnodes
宏被调用,如下所示。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\begin{document}
\begin{pspicture}[showgrid](-4,-3)(4,3)
\curvepnodes[plotpoints=6]{0}{360}{.5 t PtoC}{I}
\curvepnodes[plotpoints=6]{0}{360}{1 t 36 add PtoC}{O}
\def\points{}%
\multido{\i=0+1}{\Pnodecount}{\xdef\points{\points (I\i)(O\i)}}
\expandafter\pspolygon*[linecolor=red]\points
\end{pspicture}
\end{document}
\Pnodecount
这种情况下该如何使用?- 如果
plotpoints
第一个与最后一个不同,如何\Pnodecount
通过根节点名称引用其中一个? - 附加问题:如何使其
\expandafter\pspolygon*[linecolor=red]\points
发挥作用?
答案1
没有\Pnodecount
!名称由第四个参数构建:\Inodecount
和\Onodecount
。但是,我不知道你到底想画什么。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\begin{document}
\begin{pspicture}[showgrid](-4,-3)(4,3)
\curvepnodes[plotpoints=6]{0}{360}{.5 t PtoC}{I}
\curvepnodes[plotpoints=6]{0}{360}{1 t 36 add PtoC}{O}
\def\points{}%
\multido{\i=0+1}{\Inodecount}{\xdef\points{\points (I\i)(O\i)}}
\psset{linecolor=red}
\expandafter\pspolygon\expandafter*\points
\end{pspicture}
\end{document}
和pst-poly
:
\documentclass{article}
\usepackage{pst-poly}
\begin{document}
foo \PstStarFive*[unit=2,linecolor=red] bar
\end{document}
答案2
我不确定您要做什么,\Pnodecount
因为您已经知道要沿曲线放置多少个节点。另外,我会针对多边形采取自己的解决方法。
这是 MWE
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node,pst-plot}
\psset{unit=1in}
\begin{document}
\def\mymaxvalue{6}
\begin{pspicture}[showgrid](-2,-2)(2,2)
\def\circI{ 0.5 t PtoC }
% \psparametricplot[linecolor=blue]{0}{360}{ \circI }
\curvepnodes[plotpoints=\mymaxvalue]{0}{360}{ \circI }{I}
\def\circQ{ 1 t 36 add PtoC }
% \psparametricplot[linecolor=red]{0}{360}{ \circQ }
\curvepnodes[plotpoints=\mymaxvalue]{0}{360}{ \circQ }{Q}
\pscustom[fillcolor=red,fillstyle=solid,linecolor=red]{
\multido{\i=0+1}{\Inodecount}{
% \psdot(I\i)\uput[75](I\i){$I_\i$}
% \psdot(Q\i)\uput[75](Q\i){$Q_\i$}
\psline(I\i)(Q\i)
\ifnum\i<\number\numexpr\mymaxvalue-1\relax\relax\psline(Q\i)(I\number\numexpr\i+1\relax)\fi
}}
\end{pspicture}
\end{document}
严格来说,宏\Pnodecount
不是\Pnodecount
。您定义了两个节点集合。因此,有两个宏: \Inodecount
和\Qnodecount
(我避免使用,O
因为我永远不知道我什么时候把它误输入为零,但在您的示例中,这将是\Onodecount
)。这一点在文档中并不是很清楚,您需要查看文件pst-node.tex
以了解它在那里是如何定义的。
抱歉,我忘了您要填写。