![Как можно повторно использовать оператор преобразования инфикса в постфикс для \psVolume?](https://rvso.com/image/286348/%D0%9A%D0%B0%D0%BA%20%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BF%D0%BE%D0%B2%D1%82%D0%BE%D1%80%D0%BD%D0%BE%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%20%D0%BF%D1%80%D0%B5%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%BD%D1%84%D0%B8%D0%BA%D1%81%D0%B0%20%D0%B2%20%D0%BF%D0%BE%D1%81%D1%82%D1%84%D0%B8%D0%BA%D1%81%20%D0%B4%D0%BB%D1%8F%20%5CpsVolume%3F.png)
Ограничения
Предположим, я не хочу использовать infix-RPN
пакет по неизвестной логической причине (серьезно). Вместо этого я хочу использовать свое собственное A2P
описание следующим образом. В первом случае это удается, но во втором случае это не удается.
Случай 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}