![\psVolume の infix-to-postfix 演算子を再利用するにはどうすればよいですか?](https://rvso.com/image/286348/%5CpsVolume%20%E3%81%AE%20infix-to-postfix%20%E6%BC%94%E7%AE%97%E5%AD%90%E3%82%92%E5%86%8D%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
制約
不明な論理的理由により、パッケージを使用したくないと仮定しますinfix-RPN
(本当です)。代わりに、次のように独自のA2P
記述を使用します。最初のケースでは成功しますが、2 番目のケースでは失敗します。
ケース1(成功)
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}
\pstVerb{/A2P {exec AlgParser cvx /t ED exec AlgParser cvx exec t RadtoDeg PtoC} def }
\def\RR#1{(2^(#1/10))}
\def\TT#1{(#1)}
\begin{document}
\begin{pspicture}[showgrid](-3,-3)(3,3)
\psplot[algebraic,polarplot]{2 Pi mul neg}{4 Pi mul}{\RR{x}}
\pscircle*[linecolor=red ](!\RR{7*Pi/2} \TT{7*Pi/2} A2P){2pt}
\pscircle*[linecolor=green](!{(2^(t/10))} {(3*Pi/2)} A2P){2pt}
\pscircle*[linecolor=blue ](!\RR{t} \TT{5*Pi/2} A2P){2pt}
\end{pspicture}
\end{document}
ケース2(失敗)
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-func}
\pstVerb{/A2P {exec AlgParser cvx /t ED exec AlgParser cvx exec t RadtoDeg PtoC} def }
\def\f(#1){(sin(#1)+1.2)}%
\begin{document}
\begin{pspicture}(-0.5,-3)(7,3)
\psVolume[fillstyle=solid,fillcolor=orange!50,linecolor=blue](0,\psPiTwo){10}{{\f(x)} A2P}
\end{pspicture}
\end{document}
質問
再利用するにはどうすればいいですか
\pstVerb{/A2P {exec AlgParser cvx /t ED exec AlgParser cvx exec t RadtoDeg PtoC} def }
のために\psVolume
?
答え1
最初のケースでは、A2P
x 値と y 値に適用します。ただし、 の関数パラメータ\psVolume
は単一の値にのみ評価されます。
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-func}
\pstVerb{/A2P {exec AlgParser cvx exec} def }
\def\f(#1){(sin(#1)+1.2)}%
\begin{document}
\begin{pspicture}(-0.5,-3)(7,3)
\psVolume[fillstyle=solid,fillcolor=orange!50,linecolor=blue](0,\psPiTwo){10}{{\f(x)} A2P}
\end{pspicture}
\end{document}